2022年C语言程序设计复习模拟试题 .pdf
《2022年C语言程序设计复习模拟试题 .pdf》由会员分享,可在线阅读,更多相关《2022年C语言程序设计复习模拟试题 .pdf(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第 1 页 共 15 页C语言程序设计复习模拟试题一、选择题. 以下叙述正确的是(C ) : A) 在 C程序中, main 函数必须位于程序的最前面B) C 程序的每行只能写一条语句C) C 语言使用库函数实现输入输出操作D) 注释中的拼写错误会影响编译结果2、以下说法中正确的是 (B) A) C 语言程序总是从第一个的函数开始执行B) C 语言程序总是从 main() 函数开始执行C)在 C语言程序中 , 要调用的函数必须在main() 函数中定义D) C 语言程序中的 main() 函数必须放在程序的开始部分3、下列选项中说法正确的是( A )A) 函数由声明部分和执行部分两部分组成B)
2、语言中 main 函数一定在程序的开始部分C)C语言程序总是从第一个定义的函数开始执行D)C程序的每行中只能写一条语句4 、 设 有 说 明 : int a; float b; char c; double d; 则 表 达 式1.3*a+2*b*c+d*(int)2.6 值的类型为( A) 。A) double B) char C) float D) int 5、 C 语言的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( C )A)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母、数字和下划线中任一种字符6、以下不正确的 C语言标识符是(D ) 。 A) ABC B
3、) abc C) a_bc D) void 7、下列运算符中优先级最高的是(B )A) x ? w : y z ? y : z”的值是( B)A)4 B)3 C)2 D)1 13、有以下程序,程序运行后的输出结果是。( D )main() int i=1,j=2,k=3; if(i+=1&(+j=3|k+=3) printf(%d %d %dn,i,j,k); A)1 2 3 B)2 3 4 C)2 2 3 D)2 3 3 14、下面程序的输出结果是(B)main()int x=2,y=-1,z=2;if (xy)if (y0)z=0;else z=-1+x ;printf( “%dn”,z
4、) ; A) 3 B) 2 C) 1 D)0 15、执行下列语句后, a 的值为(B )main( ) int a=5; printf(“%dn”,(a=3*5,a*4,a+5); A) 65 B)20 C) 15 D)10 16、下列程序段中,有错误的行是(C)列定行号 int x=0,y=10; 2 switch(x) 3 case 3: 4 case 1:y=y-2;break; 5 case y+1:x+=5; 6 default:printf(“%d,%d ”,x,y); A) 4 B) 3 C) 5 D)无错误17、若 i 为整型变量,则以下循环执行次数是(B ) 。系名:姓名:学
5、号:考试日期:班级:装订线下上装订线名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 15 页 - - - - - - - - - 第 2 页 共 15 页#includestdio.h void main() int i; for(i=2;i=0; ) printf(%d,i-); A) 无限次 B )0 次 C) 1 次 D) 2 次18、若有以下定义, double a10; 则 a 数组元素下标的上、下限分别为 (B)A) 1,10 B) 0,9 C) 0,10 D
6、)1,9 19、若已定义的函数有返回值,则以关于该函数调用的叙述中错误的是(D) A) 调用可以作为独立的语句存在 B) 调用可以作为一个函数的实参C) 调用可以出现在表达式中 D) 调用可以作为一个函数的形参20、 定义如下变量和数组 : int i; int x33=1,2,3,4,5,6,7,8,9; 则下面语句for(i=0;i3;i+) printf(%d,xi2-i); 输出结果是(C )A) 1 5 9 B) 1 4 7 C) 3 5 7 D) 3 6 9 21、以下不能正确定义二维数组的选项是 ( D ) A) int a22=1,2; B) int a2=1,2,3,4; C
7、) int a22=1,2,3; D) int a2=1,2,3,4; 22、若有以下定义: int a5=10,20,30,40,50,*p=a;则执行 +(*p)后(*p)+的值是 ( B) A) 10 B) 11 C) 20 D)21 23、函数的嵌套调用是指 ( D) A) 直接调用本函数B) 在定义函数时,又定义另一个函数C) 间接调用本函数D) 被调用函数又调用另一个函数24、下列说法正确的是 ( D ) A) 被调用函数必须先调用,后声明B) 用户自定义函数的类型若未指出,则系统默认为void C) 全局变量不能与局部变量同名D) 实参可以是任意表达式25、以下描述正确的是(B
8、)A)continue语句的作用,是结束整个循环语句的执行B)只能在循环体内和switch 语句体内使用 break 语句C)在循环体内使用 break 语句或 continue语句的作用相同D)多层循环嵌套中不可以使用break 语句26、若有说明语句:“int a34; ” ,则对数组元素的正确引用格式是( C )A)a24 B) a1,3 C) a1+10 D) a(2)(1) 27、若有说明:“int a34=0; ” ,则下面正确的叙述是( D)A)只有元素 a00可得到初值 0 B)此数组说明语句不正确C)数组 a 中各元素都可得到初值,但其值不一定为0 D)数组 a 中每个元素均
9、可得到初值0 28、定义数组 a 和 b 的语句是:“char a =“ABCDEF”; char b = A, B ,C ,D , E , F ; ”则以下叙述正确的是( D )A)a 和 b 数组完全相同 B)a 与 b 数组元素个数相同C)a 和 b 中都存放字符串 D)a 数组比 b 数组元素个数多29、语句“ int (*ptr) ( );”的含义是(C )A)ptr是指向一维数组的指针变量B)ptr是指向 int型数据的指针变量C)ptr 是指向函数的指针,该函数返回一个int型数据D)ptr 是一个函数名,该函数返回值是指向int型数据的指针30、若有定义:“int *p4;”
10、,则标识符 p 是( B ) A)一个指向整型变量的指针B)一个指针数组名C)一个指针,它指向一个含有四个整型元素的一维数组D)无效的数组名31、在 C语言中(B)A) 函数定义可以嵌套,但函数调用不可以嵌套B) 函数定义不可以嵌套,但函数调用可以嵌套C) 函数定义和调用都可以嵌套D) 函数定义和条用都不能嵌套32、下面程序的输出结果是(D)#include void main() int i,j,x=0; for(i=0;i=2;i+) x+; for(j=0;j=2;j+) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名
11、师精心整理 - - - - - - - 第 2 页,共 15 页 - - - - - - - - - 第 3 页 共 15 页 if(j%2)continue; x +; x +; printf(%dn,x); A)4 B)6 C)8 D)12 33、执行下列语句后, m的值为(A ) int m=1,x=2,y=3,z=4; m=mx?m:x; m=my?m:y; m=mz?m:z: A) 1 B) 4 C) 2 D) 3 34、下列程序段是实现给数组所有元素赋值操作,应在下划线上填入的是 (B )int a10; for(i=0;i=9;i+) scanf(“%d ”, ); A) a B
12、) &ai C) ai D) &a0 35、下列叙述正确的是( D)A) do-while语句构成的循环不能用其它语句构成的循环来代替B) do-while语句构成的循环只能用break 语句退出C) 用 do-while 语句构成的循环,在while 后的表达式为非零时结束循环D) 用 do-while 语句构成的循环,在while 后的表达式为零时结束循环36、下列程序的输出结果为(B)#include “stdio.h”main() int a,b; for(a=1,b=1;a=20) break; if(b%3=1) b+=3;continue; b+=5; printf(“%d, %
13、d ”, a, b); A) 8,20 B) 8,22 C) 7,20 D) 7,22 37、设 int a5=10,15,20,25,30; int *p; p=a+2;则表达式 +*p 的值为( D )A) 20 B) 15 C) 16 D) 21 38、设 w=1,x=2,y=3,z=4,a=5,b=6,则执行以下语句 a,b 的值分别为(C)(a=wx )&(b=yz); A) 0 和 0 B) 5和 0 C) 0和 6 D) 5和 6 39、下列语句的输出为(D ) int x=-1; printf(“%d,%u,%o ”,x,x,x); A) 1,-1,-1 B) 1,32767,
14、-177777 C) 1,32768,177777 D) 1,65535,177777 40、下列函数调用语句中的实参个数为(A)fun(a+b,x,y),fun(x,(x+z); A) 2 B) 3 C) 4 D) 5 41、设有数组定义: char array =“china ”; 则数组 array 所占的内存空间为(C )A) 4 个字节 B) 5个字节 C) 6个字节 D) 7个字节42、以下程序段的运行结果是(B) 。 char c5= a , b , 0 , c , 0 ; printf( “%s ” , c ); A) ab B )ab C )ab c D)a b 43、若 C
15、程序中出现死循则违背了算法的( C )A)有效性 B)确定性C )有穷性 D)有一个或多个输出44、设 int a=20;则执行表达式: a/=a+a 后,a 的值是( A )A)0 B)1 C)20 D)40 45、int x,y,z,m=5,n=5;则执行下面语句后的z 值是(D)x=(-m=n+)?-m:+n; y=m+; z=n; A)5 B)10 C)6 D)7 46、执行下列程序段后, i 的正确结果是(D )int i=10; switch(i) case 9: i+=1; case 10: i+; case 11: +i; default:i+=i; 名师资料总结 - - -精
16、品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 15 页 - - - - - - - - - 第 4 页 共 15 页 printf( %d, i ); A)10 B)11 C)12 D)24 47、若有定义: int a10; 。则以下表达式中不能代表数组元素a1 的地址的是( A )A)&a0+ B)&a1 C)&a0+1 D)a+1 48、变量的指针,其含义是指该变量的( B)A)值 B)地址 C)变量名 D)一个标志49、有以下函数定义:void fun(int n, double x)
17、若以下选项中的变量都已正确定义并赋值,则对函数fun 的正确调用语句是(C )A)fun(int y,double m); B)k=fun(10,12.5);C)fun(x,n); D)void fun(n,x);50、设整型变量 n=10,i=4, 则赋值运算 n%=i+1执行后, n 的值是( A ) 。 A) 0 B) 1 C) 2 D) 3 51、若 int a, b; scanf(%d%d, &a, &b); 不可以用(A )作为输入的分隔符。A) , B)空格 C)回车 D)TAB键52、下面关于运算符优先顺序的描述中正确的是:( C)A)关系运算符 算术运算符 赋值运算符 逻辑与
18、运算符B)逻辑 运算符 关系运算符 算术运算符 赋值运算符C)赋值运算符 逻辑与运算符 关系运算符 算术运算符D)算术运算符 关系运算符 赋值运算符 逻辑与运算符53、为 了 判 断 两 个 字 符 串 s1 和 s2 是 否 相 等 , 应 当 使 用 ( D ) 。A) if(s1 = s2) B) if(s1 = s2) C) if(strcpy(s1,s2) D)if(strcmp(s1,s2)=0) 54、以下对二维数组进行正确初始化的是( B ) 。A)int a23=1,2,3,4,5,6; B)int a3=1,2,3,4,5,6; C)int a2=1,2,3,4,5,6;
19、D)int a2=1,2,3,4; 55、若 用 数 组 名 作 为 函 数 调 用 时 的 实 参 , 则 实 际 上 传 递 给 形 参 的 是(A ) 。A) 数 组 的 首 地 址B) 数 组的 第 一 个 元 素 值C) 数 组 中 全 部 元 素 的 值D) 数 组元 素 的 个 数56、以 下 错 误 的 描 述 是 ( D) 。A) 不 同 的 函 数中 可 以 使 用 相 同 的 变 量 名B) 形 式 参 数 是局 部 变 量C) 一 个 函 数 内部 定 义 的 变 量 只 能 在 本 函 数 范 围 内 有 效D) 在 一 个 函 数 内 部 的 复 合 语 句 中 定
20、 义 的 变 量 可 以 在 本 函 数 范 围内 有 效57、下列程序的运行结果是(B)main( ) int i=10; int *p=&i; i=8;printf(“%d ”,*p); A)10 B)8 C)程序错误,不能运行 D)结果不确定58、C语言中, double 类型的数据占字节数为(D )A) 1 B) 2 C) 4 D) 8 59、可在 C程序中用作用户标识符的一组标识符是(A )A)as_b3 _123 If B) For -abc case C) 2c DO SIG D) void define WORD 60、以下字符中,不正确的C语言转义字符是( B )A) B)
21、018 C) Xaa D) t 61、C语言中,数据在内存中都以( D )形式存放A) 原码 B) 反码 C) ASCll码 D)补码62、下列运算符中,优先级最高的是(C )A) & B) ! C) + D) | 63、有输入语句: scanf ( “a=%d ,b=%d ,c=%d ” ,&a,&b,&c) ;为使变量 a 的值为 11,b 为 12,c 为 13,则从键盘输入数据的正确形式应当是(D) 。A)11 12 13 B)11, 12 , 13 C )a=11 b=12 c=13 D) a=11, b=12, c=13 64、为表示关系 -1 x1 应使用的 c 语言表达式是(D
22、) A) -1x1 B) -1=x&x=1 C) -1=x=-1&xb) return a; else return b; main( ) int x=3, y=8, z=6, r; r=fun (x, y+z); printf(%dn, r); 程序运行后的输出结果是()A) 3 B) 6 C) 8 D) 14 73、若有说明: int n=17,*p=&n,*q=p; ,则以下非法的赋值语句是( D )A) p=q; B) *p=*q; C) n=*q; D) p=n; 74、 以下程序的功能是: 按顺序读入 10名学生 4 门课程的成绩, 计算出每位学生的平均分并输出,程序如下: mai
23、n() int n,k; float score ,sum,ave; sum=0.0; for(n=1;n=10;n+) for(k=1;k=4;k+) scanf(“%f”,&score); sum+=score; ave=sum/4.0; printf(“NO%d:%fn”,n,ave); 上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。这条语句是( A ) A) sum=0.0; B) sum+=score; C) ave=sun/4.0; D) printf(“NO%d:%fn”,n,av e); 75、数组定义为char a10=a, b, c ; 该数组包括
24、的元素个数是( D )A) 3 B) 9 C) 4 D)10 76、下面程序的输出结果是(B)main ( ) int x = 2, y = -1,z = 2; if ( x y ) if ( y =a;p-) printf(%d,*p); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 15 页 - - - - - - - - - 第 6 页 共 15 页 程序运行后的输出结果是 ( D)A)0 1 2 3 4 5 6 7 8 9 B)2,3,4,5,6,7,8,9,1
25、0,1 C)0,1,2,3,4,5,6,7,8, 9 ,D)9,8,7,6,5,4,3,2,1, 0 ,78、 执行循环语句 : for(x=y=0;y!=250|x4;x+)y+=50; ( A ) A) 5 B) 4 C)3 D)2 79、如 int x=14; 下列求商 y( 需小数结果 )的表达式哪一个不对 ( D ) A) y=x/(5+.0) B) y=x/5. C) y=1.*x/5 D) y=x/5*1.0 80、设有以下程序段 ( B ) int x=0,s=0; while (!x!=0 )s+=+x; printf(%d,s ); 则 :A )运行程序段后输出0 B)运行
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年C语言程序设计复习模拟试题 2022 语言程序设计 复习 模拟 试题
限制150内