[计算机类试卷]国家二级C语言机试(C语言程序设计)模拟试卷6及答案与解析.doc
《[计算机类试卷]国家二级C语言机试(C语言程序设计)模拟试卷6及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级C语言机试(C语言程序设计)模拟试卷6及答案与解析.doc(19页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C语言机试( C语言程序设计)模拟试卷 6及答案与解析 一、选择题 1 有以下程序 main( ) inta=2, c=5; printf(a= d, b= dn, a, c); ) 程序的输出结果是 ( A) a= 2, b= 5 ( B) a= d, b= d ( C) a=2, b=5 ( D) a= d, b= d 2 若变量已正确定义为 int型,要通过语句 scanff d, d, d, a, b,c);给 a赋值 1、给 b赋值 2、给 c赋值 3,以下输入形式中错误的是 (注: 代表一个 空格符 ) ( A) 1, 2, 3 ( B) 1, 2, 3 ( C) 1,
2、2, 3 ( D) 123 3 若有定义: inta, b;通过语句 scanf( d; d, a, b);能把整数 3赋给变量 a, 5赋给变量 b的输入数据是 ( A) 3 5 ( B) 35 ( C) 3; 5 ( D) 35 4 以下叙述中正确的是 ( A)当用 scanf从键盘输入数据时,每行数据在没按下回车键 (Enter键 )前,可以任意修改 ( B)花括号对 只能用来表示函数的开头和结尾,不能用于其他目的 ( C)空语句就是指 程序中的空行 ( D)复合语句在语法上包含多条语句,其中不能定义局部变量 5 有以下程序 #include main( ) inta1, a2; cha
3、rc1, c2; scanf( d c d c, al, c1, a2, c2); printf( d, c, d, c, a1, c1, a2, c2); 若想通过键盘输入,使得 a1的值为 12, a2的值为 34, cl的值为字符 a, c2的值为字符 b,程序输出结果是: 12, a, 34, b则正确的输入格式是 (以下 代表空格,代表回车 ) ( A) 12a34b ( B) 12, a, 34, b ( C) 12a34b ( D) 12a34b 6 以下程序段完全正确的是 ( A) intk, *p= k; scanf( d, p); ( B) int*p; scanf( d,
4、 p); ( C) int*p; scanf( d, p); ( D) intk, *p; *p= k; scanf( d, p); 7 有以下程序段 charname20; intnum; scanf(name= snum= d t, name, num); 当执行 上述程序段,并从键盘输入: name=Lilinum=1001后, name的值为 ( A) name=Lift ( B) Lilihum= ( C) name=Lilinum=1001 ( D) Lili 8 有以下程序 main( ) intx=1, y=0; if(!x)y+; elseif(x=0) if(x)y+=2;
5、 elsey+=3; pfintf( dn, y); ) 程序运行后的输出结果是 ( A) 2 ( B) 0 ( C) 1 ( D) 3 9 设有定义: inta=1, b=2, c=3;以下语句中执行效果与其它三个不同的是 ( A) if(a b)c=a; a=b; b=c; ( B) if(a b)c=a, a=b, b=c; ( C) if(a b)c=a, a=b, b=c; ( D) if(a b)c=a; a=b; b=c; ) 10 有以下计算公式 若程序前面已经在命令行中包含 math h文件,不能够正确计算上述公式的程序段是 ( A) y=sqrt(x); if(x 0)y=
6、sqrt(-x); ( B) if(x =0)y=sqrt(x); elsey=sqrt(-x); ( C) iffx =0)y=sqrt(x); iffx 0)y=sqrt(-x); ( D) y=sqrt(x =07x: -x); 11 下列条件语句中,输出结果与其他语句不同的是 ( A) if(a=0)printf( dn, x); elseprintf( dn, y); ( B) if(a=0)printf( dn, y); elseprintf( dn, x); ( C) if(a!=0)printf( dn, x); elseprintf( dn, y); ( D) if(a)pr
7、intf( dn, x); elseprintf( dn, y); 12 若有以下程序 #include stdio h main( ) inta=1, b=2, c=3, d=4; if(a=2) (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) 1, 2, 3, 4 ( D) 5, 1, 2, -1 13 下列叙述中正确的是 ( A)在 switch语句中必须使用 default ( B) break语句必须与 swi
8、tch语句中的 case配对使用 ( C)在 switch语句中,不一定使用 break语句 ( D) break语句只能用于 switch语句 14 有以下程序 #include main( ) intx=1, y=0, a=0, b: 0; switch(x) case1: switch(Y) case0: a+; break; case1: b+; break; case2: a+; b+; break; ) printf(a= d, b= dn, a, b); 程序运行后的输出结果是 ( A) a=1, b=1 ( B) a=1, b=0 ( C) a=2, b=1 ( D) a=2,
9、 b=2 15 以下程序段中,与语句: k=a b?(b c?1: 0): 0;功能相同的是 ( A) if(a b)Tl(b c)k=1; elsek=0; ( B) if(a =b)k=0; elseif(b =c)k=1; ( C) if(a b) (b c)k=1; elsek=0; ( D) if(a b)k=1; elseif(b c)k=1; elsek=0; 16 有以下程序 #include stdio h main( ) inty=10; while(y-); printf(Y= dn, y); 程序执行后的输出结果是 ( A) y=0 ( B) y=-1 ( C) y=1
10、 ( D) while构成无限循环 17 有以下程序 #include stdio h yoidmain( ) ints; scanf( d, s); while(s 0) switch(s) case1: printf( d, s+5); case2: printf( d, s+4); break; case3: printf( d, s+3); default: printf( d, s+1); break; scanf( d, s); 运行时,若输入 123450,则输出结果是 ( A) 66656 ( B) 6566456 ( C) 66666 ( D) 6.66666e+006 18
11、 要求通过 while循环不断读入字符,当读入字 *N时结束循环。若变量已正确定义,以下正确的程序段是 ( A) while(ch=getchar( )=N)printf( c, ch); ( B) while(ch=getchar( )=N)pfintf( c, ch); ( C) while(ch=getchar( )!=N)printf( c, ch); ( D) while(ch=getchar( )=N)printf( c, ch); 19 有以下程序 main( )inta=-2, b=0; while(a+ +b); printf( d, dn, a, b); ) 程序运行后输出
12、结果是 ( A) 0, 3 ( B) 1, 2 ( C) 1, 3 ( D) 0, 2 20 以下不构成无限循环的语句或语句组是 ( A) n=0; do+n; )while(n =0); ( B) n=0; while(1)n+; ) ( C) n=10; while(n); n-; ( D) for(n=0, i=1; i+)n+=i; 21 若有以下程序 main( ) inta=-2, b=0; do +b; )while(a+); printf( d, dn, a, b); ) 则程序的输出结果是 ( A) 0, 2 ( B) 1, 2 ( C) 1, 3 ( D) 2, 3 22
13、有以下程序段 inti, n; for(i=0; i 8; i+) n=rand( ) 5; switch(n) case1: case3: printf( dn n); break; case2: case4: printf( dn, n); continue; case0: exit(0); printf( dn, n); 以下关于程序段执行情况的叙述, 正确的是 ( A)当产生的随机数 n为 4时结束循环操作 ( B)当产生的随机数 n为 1和 2时不做任何操作 ( C)当产生的随机数 n为 0时结束程序运行 ( D) for循环语句固定执行 8次 23 有以下程序 #include s
14、tdio h yoidmain( ) intc=0, k; for(k=1; k 3; k+) switch(k) default: c+=k; case2: c+; break; case4: c+=2; break; printf( dn, c); ( A) 9 ( B) 7 ( C) 5 ( D) 3 24 有以下程序 #include stdio h yoidmain( ) charb, c; inti; b=a; c=A; for(i=0; i 6; i+) if(i 2)putchar(i+b); elseputchar(i+c); pfintf(n); 程序运行后的输出结果是 (
15、 A) abcDEF ( B) abcDeF ( C) abcdef ( D) abcdEf 25 若有以下程序 main( ) inta=6, b=0, c=0; for(; a; ) b+=a; a-=+C; printf( d, d, dkn, a, b, c); ) 则程序的输出结果是 ( A) 1, 14, 3 ( B) 0, 18, 3 ( C) 0, 14, 3 ( D) 0, 14, 6 26 若有以下程序 #include char*a=you; charb=WelcomeyoutoChina!; main( ) inti, j: 0; char*p; for(i=0; bi
16、!=0; i+) if(*a=bi) p=a; for(j=i; *p!=0; j+) if(*P!=bj)break; p+; if(*p=0)break; printf( s, bi); 则程序的输出结果是 ( A) youtoChina! ( B) toChina! ( C) meyoutoChina! ( D) China! 27 有以下程序 main( ) inti, j; for(i=1; i 4; i+) for(j=i; j 4; j+) printf( d* d= d, i, j, i*j); printf(n); ( A) 1*1=11*2=21*3=32*1=22*2=4
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 语言程序设计 模拟 答案 解析 DOC
