哈尔滨工业大学C语言期末试卷(2007秋季人文学院笔试A卷)

2026/1/15 18:25:28

哈尔滨工业大学C语言期末试卷(2007

秋季人文学院笔试A卷)

一、填空题(共20分,每空2分)

1.C语言中简单数据类型包括 、 、 。

2.C语言中用_______表示逻辑值“假”,用________表示逻辑值“真”。 3. char *p[10];这条语句的含义是:__ ___ _ _ 。 4.设有语句“int a=3;”,执行语句“printf(”%d”,-a++ );”后,输出结果 是 , 变量a的值是 。

5. 如果在程序中定义静态变量和全局变量时,未明确指明其初始值,那么它们可 以在程序编译阶段自动被初始化为 。

6. 在C语言中,可以用 定义一种新的数据类型。 二、选择题:(共16分,每题2分)

1.在C语言中,函数的隐含存储类别是( )。 A) auto B) static C) extern D) 无存储类别

2.若用数组名作为函数调用时的实参,则实际上传递给形参的是()。 A.数组的首地址 B. 数组的第一个元素值 C.数组中全部元素的值 D. 数组元素的个数 3.已知 struct sk {

int a; float b; }data,*p;

若有p=&data,则对data中的成员a正确引用是( ) A. (*p).data B.(*p).a C.p->data.a D. p.data.a

4.在while(x)语句中的x与下面条件表达式等价的是: 。 A. x!=0 B. x==1 C. x!=1 D. x==0

5.二维数组a有m行n列,则在a[i][j]之前的元素个数为( )。 A. j*n+i B. i*n+j C. i*n+j-1 D. i*n+j+1

6.设有声明语句:int a=1,b=0;则执行以下语句后输出为: 。 switch (a) {

case 1: switch (b) {

case 0: printf(\break;

case 1: printf(\break;

}

case 2: printf(\break; }

A **0** B **0****2**

C **0****1****2** D 有语法错误 7.以下程序运行结果是( ) main()

{char s[]=”Address”;

printf(”%d\\n”, strlen(s)); }

A) 7 B) 8 C) 9 D) 10

8.以下不正确的描述是()

A) 在函数外部定义的变量是全局变量 B) 在函数内部定义的变量是局部变量 C) 函数的形参是局部变量

D) 局部变量不能与全局变量同名

三、写出下列程序的运行结果。(15分,每题3分) 1.#include

int Fun(int x) {

static int y = 0; y += x; return y; }

main() {

int x = 10, y = 0, k;

for(k=0; k<2; k++) {

y = Fun(x);

printf(\} }

运行结果是:

2.#include main ( ) {

char a[] = \

char *p1, *p2 ; int i; p1 = a; p2 = b;

for (i=0; i<7; i++) {

if (*(p1+i) == *(p2+i)) printf(\}

printf(\}

运行结果是:

3. #include

main() {

int a=10; {

int a=15;

printf(“a.1=%d,”,a); }

printf(“a.2=%d\\n”,a); }

运行结果是:

4.#include main() {

int i=0; while(1) {

printf(“*”); i++;

if(i<3) break; }

printf(“\\n”); }

运行结果是:

5.int runc(int a,int b) {return(a+b);}

main() {

int x=2,y=5,z=8,r; r=runc(runc(x,y),z); printf(“%d\\n”,r); }

执行结果是:

四、阅读程序,在标有下划线的空白处填入适当的表达式或语句,使程序完整并符合题目要求。(16分,每空2分)

1. 下面这个程序功能:读入5个整数,当程序读入的数据为正整数时,则显示该数,否则,不显示。读入5个数据后,程序结束运行。 #include main() {

int i, n;

for (i=1; i<=5; i++) {

printf(\scanf(\

if (n <= 0) _____________; printf(\}

printf(\}

2. 韩信点兵。韩信有一队兵,他想知道有多少人,便让士兵排队报数:按从1至5报数,最末一个士兵报的数为1;按从1至6报数,最末一个士兵报的数为5;按从1至7报数,最末一个士兵报的数为4;最后再按从1至11报数,最末一个士兵报的数为10。下面程序的主要功能是计算韩信至少有多少兵。 #include main() {

int x = 1; int find = 0;

for (x=1; ________; x++) {

if (x%5==1 && x%6==5 && x%7==4 && x==10) {

printf(\____________; }


哈尔滨工业大学C语言期末试卷(2007秋季人文学院笔试A卷).doc 将本文的Word文档下载到电脑
搜索更多关于: 哈尔滨工业大学C语言期末试卷(2007秋季人文学院笔试A卷) 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219