省二C复习资料 下载本文

18、已知int x;,当x为大于1的奇数时,下列值为0的表达式是__________ A) x%2= =1 B)x/2 C) x%2!=0 D) x%2= =0 19、下面程序段执行结果是__________ int i=5,k;

k=(++i)+(++i)+(i++); printf(“%d,%d”,k,i);

A) 24,8 B) 21,8 C) 21,7 D) 24,7 20、下列正确的赋值语句是___________。

A) 10=a; B) b=45.6 C) c=15*5; D) a+47=c;

21、已知 int x=1, y=2,z=3; , 则逻辑表达式x

22、若变量c为char类型,能正确判断出c 为大写字母的表达式是_______ A) ‘A’<=c<=’Z’ B) c>=’A’||c<=’Z’ C) ‘A’<=c and ‘Z’>=c D) c>=’A’&&c<=’Z’

23、已知int x, y; float z; , 以下正确的输入语句是__________

A) scanf(“%d%d%f”,x,y,z); B) scanf(“%d%d%f”,&x,&y,&z); C) scanf(“%dm%6.2f”,&x,&y,&z); D) scanf(“%d%d%f”;&x;&y;&z); 24、执行下面程序: main()

{ int x=-1;

printf(“%d,%x,%u”,x,x,x); }

A) -1,-1,-1 B) -1,-ffff,-32768 C) -1,ffff,-32768 D) -1,ffff,65535 25、c语言对于嵌套if语句规定else总是____________匹配。 A)与最外层的if B)与之前最近的if C)与之前最近的不带else的if D)与最近的{}之前的if 26、下面程序运行结果为__________ main()

{char c=’a’;

if(‘a’

A) LOW B) UP C) LOWUP D) 语句错误,编译不能通过 27、以下叙述正确的是_____________

A) do-while语句构成的循环,在while后的表达式为非零时结束循环 B) do-while语句构成的循环,在while后的表达式为零时结束循环 C) do-while语句构成的循环只能用break语句退出

D) do-while语句构成的循环不能用其他语句构成的循环来代替

28、要使下面程序输出10个整数,则在下划线处填入正确的数是_____________ for(i=0;i<=___________;i+=2) printf(“%d”,i);

A) 9 B) 10 C) 18 D) 20 29、下列描述中不正确的是___________________

A) 字符型数组中可以存放字符串 B)可以对字符型数组进行整体输入、输出 C) 可以对实型数组进行整体输入,输出

D)不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值 30、下面不能正确进行初始化操作的语句是____________

21/48

A) char s[5]={‘C’,’H’,’I’,’N’,’A’}; B) char s[5] ={“CHINA”}; C) char s[]=”CHINA”;

D) char s[5]; s[0]=’C’; s[1]=’H’; s[2]=’I’; s[3]=’N’; s[4]=’A’; 31、下面程序段的输出结果是______。

char s[]=”\\\\\\101abc\\0”; printf(“%s\\n”,s);

A) \\Aabc\\0 B)\\101abc\\0 C) \\101abc D) \\Aabc 32、有如下程序: main()

{int a[6],i,s=0;

for(i=1;i<6;i++) {a[i]=i+1; s+=a[i];} printf(“%d\\n”,s); }

该程序的输出结果是_____________。 A) 18 B) 19 C) 20 D) 21

33、当调用函数时,实参是一个数组名,则向函数传送的是_________

A) 数组的长度 B) 数组的首地址 C) 数组每一个元素的地址 D)数组每个元素中的值 34、C语言中,如果在定义函数时没有指定函数类型,系统会隐含指定为_______ A) char B) int C) Register D) static 35、一个源文件中定义的全局变量的作用域是___________

A) 本函数的全部范围B) 本程序的全部范围 C) 本文件的全部范围 D) 从定义开始至文件结束

36、对于类型相同的两个指针变量之间,不能进行的运算是_____________ A) < B) = C) + D) -

37、已知 int s[]={1,3,5,7,9} , *p=&s[0]; ,则值为5的表达式是_______________。 A) *p+2 B) *p+3 C) *(p+2) D) *(p+3) 38、若有如下语句:

int c[4][5], (*p)[5]; p=c;

则能正确引用c数组元素的是_____________

A) p+1 B) *(*p+2) C) *(p+3) D) *(p+1) +3 39、有如下定义:

struct person

{char name[9] ; int age;};

struct person class[10]={“john”,17,”Paul”,19,”Mary”,18,”Adam”,16}; 根据上述定义,能输出字母M的语句是________________

A) printf(“%c\\n”,class[3].name); B) printf(“%c\\n”, class[3].name[1]); C) printf(“%c\\n”,class[2].name[1]); D)printf(“%c\\n”,class[2].name[0]);

40、设int b=8 ; ,表达式(b>>2)/(b>>1)的值是______________ A) 0 B) 2 C) 4 D) 8

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

1.在Turbo C 2.0编辑环境中,激活主菜单的热键是_________。

2.已知 int a=7;float x=3.5,y=4.8;则表达式x+a%2*(int)(x+y)的值是______。 3.设有 int x,y; scanf(“%d%*d%d”,&x,&y);,从键盘输入数据10 20 30 <回车>后,y

22/48

的值是______。

4.已知char s1[10]=”ABCD”,s2[5]=”xy”;则strlen(strcpy(s1,s2))的值是_______。

5.有函数调用语句fun(a,b+c,(d,e));,则该函数调用语句中含有的实参的个数是____。

6.以下程序运行的结果是________。

main()

{char a[]=”12345”,*p; int s=0;

for (p=a;*p!=’\\0’; p++) s=10*s+*p-’0’; printf(“%d\\n”,s); }

7.执行程序段char str[]=”abc\\0def\\0ghi”; char *p; p=str; printf(“%s”,p+5);,运行结果是__。 8.struct person {char name[8]; long num;

union{float x; int y; } m; } w;

则表达式sizeof(w)的值是_____。

9.判断文件指针是否指向文件尾的函数为_______。 10.#define S(x) 5*x main()

{int a=1,b=2;

printf(“%d”,S(a+b)); }

运行结果是_________。

三、阅读理解题(每小题4分,共20分) 1.下面程序运行的结果是______。

main()

{ int i,j,s=0; for(i=1;i<=4;i++)

for(j=1;j<=5-i; j++) s=s+i*j;

printf(“%d”,s); }

2.下面程序运行的结果是_______。 main()

{int i,a=3,b=4,t; for(i=1;i<=5;i++) switch(i%5) {case 0: b=3;

case 1: t=a;a=b;b=t; break; default: b=5; }

23/48

printf(“%d,%d\\n”,a,b); }

3.下面程序运行的结果是__________。 main()

{int a[10],i,s=0; a[0]=1;a[1]=2; for(i=2;i<10;i++)

{ a[i]=a[i-1]+a[i-2]; s=s+a[i]; }

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

4.下面程序运行的结果是___________。 main()

{int i,s=0;

for(i=1;i<=5;i++) {static int x=0; x=x+i; s=s+x; }

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

5.下面程序运行的结果是_________。 int f(int n)

{if(n= =2) return 1; else return f(n-2)+n; } main()

{ printf(“%d\\n”,f(10)); }

四、编程题(20分) 1.(6分)设计程序计算并输出s=1+1/3+1/5+??.+1/99. 2.(7分)设计程序输出下面图形(要求用嵌套循环语句实现)。 55555 4444 333 22 1

3.(7分)设计程序输入一个字符串并判断其是否是“顺序串”(从小到大或从大到小排,如:AABCCD或dccBAA),“是”则打印“Yes”,“否”则打印“No”。 #inclued #include main() {

char s[100]; ?..

24/48

}

25/48