}
6. 下面程序用变量统计文件中字符的个数。 #include
{ FILE *fp;
long count = 0;
if ( (fp = fopen(\.c\ { printf(\ exit(0); }
while( !feof(fp) ) { ____________; ____________; }
printf(\ }
模拟试题三
一、选择题
1. 一个C程序的执行是从 。
(A) 本程序的main函数开始,到main函数结束;
(B)本程序文件的第1个函数开始,到本程序最后一个函数结束; (C)本程序的main函数开始,到本程序最后一个函数结束; (D)本程序文件的第1个函数开始,到本程序main函数结束。 2. 在C语言中,合法的字符常量是 。 (A)“C” (B)“hello!” (C)“\\\\” (D)‘W’ 3. 在C语言中,变量所分配的内存空间大小 。
(A) 均为一个字节 (B)由用户自己定义 (C)由变量的类型决定 (D)任意的 4. 在下面的标识符中,合法的用户标识符有 个。 abc,a3,a-1,3A,a$B,_short,int
(A)3 (B)4 (C)5 (D)6 5. 在C语言中,要求操作数必须是整型的运算符是 。 (A)/ (B)++ (C)!= (D)%
6. 设int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是 。 (A)2.500000 (B)2.750000 (C)3.500000 (D)0.000000 7. 要定义一个变量用来存放整数69000,该变量应定义成 。
(A)int (B)long int (C)unsigned (D)double 8. 选择出正确的赋值语句(设char b[5],*p=b) 。
(A) b=“abcd” (B)*b=“abcd” (C)p=“abcd” (D)*p=“abcd” 9. 在下面表达式中,值等于1的表达式是 。
(A)!b‖b (B)b>b (C)a!=a (D)3%4 10. 若有定义int(*p)[4],则标识符p是一个________。 (A)指向整型变量的指针变量 (B)指向函数的指针变量
(C)指向有四个整型元素的一维数组的指针变量
(D) 指针数组名,有四个元素,每个元素均为一个指向整型变量的指针
11. 以下程序的输出结果是 。
main( )
{int a=0,b=0,c=0; if(a=b+c)printf(“* * *\\n”) else printf(“$ $ $\\n”);}
(A)有语法错不能通过编译 (B)可以通过编译但不能通过连接 (C)输出* * * (D)输出$ $ $ 12. 设有以下程序段,则 。
int x=0,s=0;
while(!x!=0)s+=++x; printf(“%d”,s);
(A)程序段后输出0 (B)运行程序段后输出1 (C)程序段中的控制表达式是非法的 (D)程序段执行无数次 13. 设有变量定义static char str[ ]=“PROGRAM ”;则数组str的长度是 。
(A)7 (B)8 (C)9 (D)不确定 14. C语言中,整数 -8在内存中的存储形式是 。
(A) 1111,1111,1111,1000 (B)1000,0000,0000,1000 (C)0000,0000,0000,1000 (D)1111,1111,1111,0111 15. 执行以下程序段后,m的值为 。
int a[2][3]={{6,5,4},{3,2,1}}; int m,*p; p=&a[0][0];
m=(*p)*(*(p+2))*(*(p+4));
(A)15 (B)24 (C)48 (D)12 16. 设int a=1,b=2;能正确表示代数式1/(ab)的C语言表达式是 。
(A)1.0/(b*a) (B)1.0/b*a (C)1/a/b (D)1/(a*b) 17. 若有以下定义,则对b数组元素的正确引用是 。
int b[5]={1,2,3,4,5};*p=b;
(A)*b[1] (B)b[p+1] (C)&(p+1) (D) p[b[2]] 18. 设有:char S[ ]=“English”,*p=S;则下列叙述中正确的是 。
(A) 数组S的长度与static(p)的值相等 (B) p[5]的值等于s[5]的值
(C) 数组S的内容与指针变量p中内容相同 (D) sizeof(s)等于sizeof(*p)
19. 以下for循环的执行次数是 。
for(x=0,y=0;(y=123)&&(x<4);x++);
(A) 无限循环 (B)循环次数不定 (C)执行4次 (D)执行3次 20. 以下程序段的输出结果为 。
char str[ ]=“abcd”,*p=str;
printf(“%d\\n”,*(p+4);
(A)00 (B)0 (C)字符'd’的地址 (D)不确定 21. 建立函数的正确说法是 。
(A)程序的执行效率 (B)提高程序的可读性 (C)减少程序的篇幅 (D)减少程序文件所占内存
22. 若要用fopen函数打开一个新的二进制文件,该文件既能读也能写,则文件方式字符串应是 。
(A)“ab+” (B)“rb+” (C)“wb+” (D)“ab” 23. 选出K的正确值 。
enum{a,b=5,c,d=4,e}K;
K=e;
(A)3 (B)4 (C)5 (D)6 24. 下面函数的功能是 。
f(S1,S2)
char *S1,*S2;
{while(*S1++=*S2++); }
(A)求字符串的长度 (B)比较两个字符串的大小 (C)将字符串拷贝 (D)字符串连接 25. 设有如下变量说明:请选出正确的表达式 。
static student {char name[10] int age; float score; }stud;
(A)udent.age++; (B)gets(stud.name); (C)scanf(“%f”,stud.scroe); (D)scanf(“%S”,&stud.name); 26. 下面程序段的运行结果是 。
char *S=“abcde”; S+=2;printf(“%d”,s);
(A)cde (B)字符‘C’ (C)无确定的输出结果 (D)字符‘C’的地址 27. 若定义double t;则表达式t=1,t+5,++t的值为 。
(A)1.0 (B)2.0 (C)6.0 (D)7.0 28. 执行以下程序段后,变量i的值为 。 int i=5; switch(i)
{ case 4:i+=1; case 5:i+=1;
case 6:i+=1;break; default:i+=1;}
(A)5 (B)6 (C)7 (D)8 29.以下正确的函数定义形式是 。 (A) double fun(int x;int y) (B) double fun(int x,y);
(C) double fun(int x,int y); (D) double fun(int x,int y) 30. 以下叙述中不正确的是________。
(A) 在不同的函数中可以使用相同名字的变量。
(B) 程序中有调用关系的函数必须放在同一个源文件中。
(C) 在一个函数内定义的变量,其变量名只在本函数范围内有效。 (D) 函数中的形式参数是局部变量。
31. 在C语言程序中,以下正确的描述是 。
(A) 函数的定义可以嵌套,但函数的调用不可以嵌套。 (B) 函数的定义不可以嵌套,但函数的调用可以嵌套。 (C) 函数的定义和函数的调用均不可以嵌套。 (D) 函数的定义和函数的调用均可以嵌套。 32. 运行以下程序段,结果为 。
int x=0;while(!x)printf(“%d”,x--);
(A)显示0 (B)显示-1 (C)不显示 (D)无限循环 33. 若有说明:int a[ ][3]={1,2,3,4,5,6};则a数组第一维的大小是 。
(A)2 (B)3 (C)4 (D)无确定值 34. 若有以下面程序段, 则程序 。
int x=3; do {printf(“%d\\n”,x-=2);}while(!(--x));
(A)输出的是-2 (B)输出的是3和0 (C)输出的是1 (D)是死循环 35. 下面的程序输出为 。
#include
{ int m=7,n=4;
float a=38.4,b=6.4,x;
x=m/2+n*a/b+1/2; printf(“%f\\n”,x);}
(A)27.000000 (B)27.500000 (B)28.000000 (D)28.500000 36. 设有下面定义语句, 则printf(“%d\\n”,a[1].y);的输出为 。
struct R{int x,int y;};
struct R a[2]={{2,4},{6,8}};
(A)2 (B)4 (C)6 (D)8 37. 以下叙述中不正确的是 。
(A) 一个变量的作用域完全取决于变量说明语句的位量 (B) 外部变量可以在函数以外的任何位置定义 (C) 局部变量的生存期限于本次函数调用,无法将局部变量的值保存至函数的下一次调用
(D) 用static说明的一个外部变量是为了限制其它编译单位的引用
38. 在16位IBM-PC中使用C语言, 若有如下定义:则结构体变量b占用内存的字节数是 。
struct data { int i; char ch;
double f;}b;
(A)1 (B)2 (C)8 (D)11 39. 请选出以下程序段的输出结果 。
# include
(A)15 (B)100 (C)10 (D)150 40. strcat(strcpy(str1,str2),str3)的功能是 。
(A) 将str1复制到str2中,再连接至str3之后 (B) 将str1连接到str2之后,再复制至str3之后 (C)将str2复制到str1中,再将str3连接至str1之后 (E) 将str2连接到str1之后,再将str1复制至str3中
二、填空题
1. C语言的数据类型有:
1)基本类型( , , ,枚举类型); 2)构造类型( , , ); 3) ; 4)空类型。
2. 从作用域角度来区分,变量有 和 之分;从变量存在的时间来区分,有 和 两种类型。
3. 一个函数只能被文件中其它函数所调用,称为 ,在定义这类函数时,函数名和函数类型前面加关键字 。 4.要使a=1,b=2,使用输入函数scanf(“a,b=%d,%d”,&a,&b);从键盘输入时,应输入 。
5. 设int x=3 y=2,z=1;则表达式:
z+=(x<y?x++:y++=的值为 。
7<4&&2‖4>1-!0的值为 。
6. 若执行fopen函数时发生错误,则函数的返回值是 。 7. 设y为int型变量,表示“y是奇数”的表达式为 。
8. 若有以下定义int m=5,y=2;则计算表达式y+=y-=m*=y后的y值是 。 9. feof(fp)函数用来判断文件是否结束,如果遇到文件结束,函数值为 。
三、阅读程序,写出运行结果 1. main()
{ int a[ ]={5,6,7,8},i; f(a);
for(i=0;i<4;i++)printf(“%d”,*(a+i)); }
f(int *b) { int j;
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C语言 模拟试题+答案(4)在线全文阅读。
相关推荐: