[计算机类试卷]国家二级C语言机试(C语言程序设计)模拟试卷4及答案与解析.doc
《[计算机类试卷]国家二级C语言机试(C语言程序设计)模拟试卷4及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级C语言机试(C语言程序设计)模拟试卷4及答案与解析.doc(20页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C语言机试( C语言程序设计)模拟试卷 4及答案与解析 一、选择题 1 以下叙述中正确的是 ( A)赋值语句是一种执行语句,必须放在函数的可执行部分 ( B) scanf和 printf是 C语言提供的输入和输出语句 ( C)由 printf输出的数据都隐含左对齐 ( D)由 printf输出的数据的实际精度是由格式控制中的域宽和小数的域宽来完全决定的 2 有如下程序段: intx=12; doubley=3 141593; printf( d 8 6t, x, y); 其输出结果是 ( A) 123 141593 ( B) 12, 3 141593 ( C) 123 1415930
2、 ( D) 123.142 3 有以下程序 main( ) chara, b, C, d; scanf( c c, a, b); c=getchar( ); d=getchar( ); printf( c c c cn, a, b, C, d); 当执行程序时,按下列方式输入数据 (从第 1列开始,代表回车,注意:回车也是一个字符 )1234则输出结果是 ( A) 12 ( B) 1234 ( C) 123 ( D) 1234 4 设变量均已正确定义,若要通过 scanff d c d c, a1, c1, a2,c2);语句为变量 a1和 a2赋数值 10和 20,为变量 c1和 c2赋字符
3、 x和 Y。以下所示的输入形式中正确的是 (注: 代表空格字符 ) ( A) 10x20Y ( B) 10x20Y ( C) 10x20Y ( D) 10x20Y 5 若有定义 inta; floatb; doublec;程序运行时输入: 345能把值 3输入给变量 a、4输入给变量 b、 5输入给变量 C的语句是 ( A) scanff d 1f 1f, a, b, c); ( B) scanff d f 1P, a, b, c); ( C) scanf( d PAf, a, b, c); ( D) scanff 1f 1f 1f, a, b, c); 6 以下叙述中正确的是 ( A)在 s
4、canf函数中的格式控制字符串是为了输入数据用的,不会输出到屏幕上 ( B)在使用 scanf函数输入整数或实数时,输入数据之间只能用空格来分隔 ( C)在 printf函数中,各个输出项只能是变量 ( D)使用 printf函数无法输出百分号 7 有以下程序 #include stdio h main( ) charcl, c2, c3, c4, c5, c6; scanf( c c c c, c1, c2, c3, c4); c5=getchar0; c6=getchar0; putchar(c1); putchar(c2); pfintf( c ckn, c5, c6); 程序运行后,若
5、从键盘输入 (从第 1列开始 )12345678则输出结果是 ( A) 1256 ( B) 1278 ( C) 1245 ( D) 1267 8 若 在定义语句: inta, b, c, *p= c;接着执行以下选项中的语句,则能正确执行的语句是 ( A) scanf( d d dtt, a, b, c); ( B) scanf( dt, a, b, c); ( C) scanf( d, p); ( D) scanf( d, p); 9 若变量已正确定义,在 if(W)printf( dn, k);中,以下不可替代 W的是 ( A) ch=getchar( ) ( B) a=-b+c ( C)
6、 a b+c ( D) a+ 10 if语句的基本形 式是: if(表达式 )语句,以下关于 表达式 值的叙述中正确的是 ( A)必须是整数值 ( B)必须是正数 ( C)可以是任意合法的数值 ( D)必须是逻辑值 11 有以下程序 #inc1udemain( )intx; scanf( d-, x); if(x =3);elseif(x!=10)printf( dn, x); 程序运行时,输入的值在哪个范围才会有输出结果 ( A)不等于 10的整数 ( B)大于 3或等于 10的整数 ( C)小于 3的整数 ( D)大于 3且不等 10的整数 12 若有以下程序 #include stdio
7、 h main( ) inta=1, b=2, c=3, d=4; if(a=2)ll(b=1)c=2; if(c=3) (d=-1)a=5; printf( d, d, d, dn, a, b, C, d); 则程序的输出结果是 ( A) 2, 1, 2, -1 ( B) 2, 2, 2, 4 ( C) 5, 1, 2, -1 ( D) 1, 2, 3, 4 13 若有以下程序 main( ) inta=1, b=2, c=3, d=4, r=0; if(a!=1); elser=1; if(b=2)r+=2; if(c!=3); r+=3; if(d=4)r+=4; printf( dn,
8、 r); ) 则程序的输出结果是 ( A) 7 ( B) 10 ( C) 6 ( D) 3 14 有以下程序 main( ) intx=1, y=0, a=0, b=0; switch(x) case1: switch(y) case0: a+: break; case1: b+; break; ) case2: a+; b+; break; case3: a+; b+; ) printf(a= d, b= dn, a, b); ) 程序的运行结果是 ( A) a=2, b=2 ( B) a=1, b=1 ( C) a=1, b=0 ( D) a=2, b=1 15 有以下程序 main( )
9、 intk=5, n=0; do switch(k) case1: case3: n+=1; k-; break; default: n=0; k-; case2: case4: n+=2; k-; break; printf( dn); while(k 0 n 5) 运行以后的输出结果是 ( A) 0235 ( B) 235 ( C) 02356 ( D) 2356 16 若以下选项中的变量 a, b, y均已正确定义并赋值,则语法正确的 switch语句是 ( A) switch(a*a+b*b)default: break; case3: y=a+b; break; case2: y=a
10、-b;break; ) ( B) switch(a+b)casel: case3: y=a+b; break; case0: case4: y=a-b; ) ( C) switch(a+9)casea: y=a-b; caseb: y=a+b; ( D) switcha*bcase10: y=a+b; default: y=a-b; ) 17 有以下程序 main( ) intk=5; while(-k) printf( d, k一 =3); printf(n); ) 执行后的输出结果是 ( A) 2 ( B) 4 ( C) 1 ( D)死循环 18 有以下程序 #include main(
11、) inta=7; while(a-); printf( dkn, a); 程序运行后的输出结果是 ( A) 0 ( B) 1 ( C) 1 ( D) 7 19 若有以下程序 main( ) inta=-2, b=0; while(a+) +b: printf( d, dn, a, b); ) 则程序的输出结果是 ( A) 0, 2 ( B) 1, 2 ( C) 1, 3 ( D) 2, 3 20 有以下程序 main( ) inti=5; do if(i 3=1) if(i 5=2) printf(* d, i); break; i+: while(i!=0); printf(n); 程序的
12、运行结果是 ( A) *3*5 ( B) *5 ( C) *7 ( D) *2*6 21 有以下程序 main( ) inta=3; do printf( d, , a-=2); while(!(-a); printf(n); 程序运行后的输出结果是 ( A) 1, ( B) 1, -2, ( C) 3, 0, ( D) 1, 0 22 有以下程序 #include stdio h main( ) inty=9; for(; y 0; y-) if(y 3=0)printf( d, -y); 程序的运行结果 是 ( A) 963 ( B) 852 ( C) 741 ( D) 875421 23
13、 有以下程序 #include stdio h main( ) inti, j; for(i=3; i =1; i-) for(j=1; j =2; j+)printf( d, i+j); printf(n); 程序的运行结果是 ( A) 43 ( B) 2325344345 ( C) 45 ( D) 2.33434e+009 24 有以下程序 main( )inta=1, b=2; for(; a 8; a+)b+=a; a+=2; printf(d, dn, a, b); )程序运行后的输出结果是 ( A) 8, 11 ( B) 10, 14 ( C) 7, 11 ( D) 9, 18 2
14、5 若有以下程序 main( ) inta=6, b=0, c=0; for(; a (b=0); ) b+=a; a-=c+; printf( d, d, dn, a, b, c); 则程序的输出结果是 ( A) 6, 0, 0 ( B) 5, 6, 0 ( C) 6, 6, 1 ( D) 5, 6, 1 26 有以下程序 #include stdio h main( ) inti, j, m=55; for(i=1; i =3; i+) for(j=3; j =i j+)m=m j; printf( dn, m); 程序的运行结果是 ( A) 0 ( B) 1 ( C) 2 ( D) 3
15、27 有以下程序 main( ) inti, j, x=0; for(i=0; i 2; i+) x+; for(j=0 j =3 j+) ir(j 2)continue; x+; x+; printffx= dn, x); 程序执行后的输出结果是 ( A) x=4 ( B) x=6 ( C) x=12 ( D) x=8 28 以下叙述中正确的是 ( A) break语句不能用于提前结束 for语句的本层循环 ( B) continue语句使得整个循环终止 ( C)使用 break语句可以使流程跳出 switch语句体 ( D)在 for语句中, continue与 break的效果是一样的,
16、可以互换 国家二级 C语言机试( C语言程序设计)模拟试卷 4答案与解析 一、选择题 1 【正确答案】 A 【试题解析 】 C语言本身没有提供输入输出语句,但是可以通过调用标准库函数中提供的输入和输出函数来实现输入和输出,选项 B错误;采用 printf输出数据,输出数据都默认为右对齐,若要左对齐,可以存格式控制中的 ” ”和宽度之间加一个 ”-”号来实现,选项 C错误; printf的输出精度由变量的类型决定,与域宽无关,选项 D错误。 【知识模块】 C语言程序设计 2 【正确答案】 D 【试题解析】 本题考查 printf语句。 printf( )函数是格式化输出函数,一般用于向标准输出设
17、备按规定格式输出信息。在编写 程序时经常会用到此函数。 printf( )函数的调用格式为: print(格式化字符串 ,参量表 )。其中, ”格式化字符串 ”包括两部分内容:一部分是正常字符,这些字符将按原样输出:另一部分是格式化规定字符,以 ” ”开始,后跟一个或几个规定字符,用来确定输出内容格式。格式化字符串的格式是: 标志 输出最小宽度 精度 长度 格式字符 标志:标志字符为 -、 +、空格等,其意义如下所示: .-:结果左对齐,右边填空格; .+:输出符号 (正号或负号 ): .空格:输出值为正时冠以空格,为负时冠以负号。 输出最小宽度:用十进制整数来表示输出的最少位数 (包括小数点
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 语言程序设计 模拟 答案 解析 DOC
