[计算机类试卷]国家二级C语言(C语言程序设计)机试模拟试卷4及答案与解析.doc
《[计算机类试卷]国家二级C语言(C语言程序设计)机试模拟试卷4及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级C语言(C语言程序设计)机试模拟试卷4及答案与解析.doc(19页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C语言( C语言程序设计)机试模拟试卷 4及答案与解析 一、选择题 1 以下能正确定义且赋初值的语句是 ( A) int n1=n2=10: ( B) char c=32; ( C) float f+1 1: ( D) double x=12 3E2 5; 2 以下选项中,合法的是 ( A) char name10; name=“char“; ( B) char strl5=”pass”, str26; str2=str1; ( C) char str3: d, e, b, u, g, 0; ( D) char str4; str4: “hello world“; 3 有以下程序段
2、int k=0, a=1, b=2, c=3; k: a b?b: a; k=k c?c: k; 执行程序段后, k的值是 ( A) 3 ( B) 2 ( C) 1 ( D) 0 4 有如下程序段: int x=12; double y=3 141593; printf(“ d 8 6f“, x, y); 其输出结果是 ( A) 123 141593 ( B) 12, 3 141593 ( C) 123 1415930 ( D) 123 141593 5 有以下程序段 int n, t=1, s=0; scanf(“ d“, &n); dos=s+; t=t-2; while(t!=n); 为
3、使此程序段不陷入死循环,从键盘输入的数据应该是 ( A)任意正奇数 ( B)任意负偶数 ( C)任意正偶数 ( D)任意负奇数 6 若有定义: int a, b;通过语句 scanf(“ d; d“, &a, &b);能把整数 3赋给变量 a, 5赋给变量 b的输入数据是 ( A) 3 5 ( B) 35 ( C) 3; 5 ( D) 35 7 以 F叙述中正确的是 ( A) 在 scanf函数中的格式控制字符串是为了输入数据用的,不会输出到屏幕上 ( B)在使用 scanf函数输入整数或实数时,输入数据之间只能用空格来分隔 ( C)在 printf函数中,各个输出项只能是变量 ( D)使用
4、printf函数无法输出百分号 8 若有定义语句: double x, y, *px, *py;执行 px=&x; py=&y;正确的输入语句是 ( A) scanf(“ f f“&x, &y); ( B) scanf(“ f f“, x, y); ( C) scanf(“ 1f le“, px, py); ( D) scanf(“ 1f 1f“, x, y); 9 有以下程序段 char name20; int num; scanf(“name= snum= d“, name, &num); 当执行上述程序段,并从键盘输入: name=Lili num=1001后, name的值为 ( A)
5、 name=Lili ( B) Lili num= ( C) name=Lili num=1001 ( D) Lili 10 有以下程序 main()int a=0, b=0, c=0, d=0; if(a=1)b=1; c=2; else d=3; printf(“ d, d, d, d 11“, a, b, c, d); 程序输出 ( A) 0, 0, 0, 3 ( B) 1, 1, 2,0 ( C)编译有错 ( D) 0, 1, 2, 0 11 设有定义: int a=1, b=2, c=3;以下语句中执行效果与其它三个不同的是 ( A) if(a b)c=a; a=b; b=c; (
6、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; 12 有以下程序 #include main()int x; scanf(“ d“, &x); if(x =3); else if(x!=10)printf(“ d n“, x); 程序运行时,输入的值在哪个范围才会有输出结果 ( A)不等于 10的整数 ( B)大于 3或等于 10的整数 ( C)小于 3的整数 ( D)大于 3且不等 10的整数 13 若有以下程序 #include stdio h main()int a=1, b=
7、2, c=3, d=4, r=0; if(a!=1); else r=1; if(b=2)r+=2; else; if(c!=3)r+=3; else; if(d=4)r+=4; printf(“ d n“, r); 则程序的输出结果是 ( A) 10 ( B) 6 ( C) 7 ( D) 3 14 以下选项中与 if(a=1)a=b; else a+;语句功能不同的 switch语句是 ( A) switch(a) case1: a=b; break; default: a+: ( B) switch(a=1) case0: a=b; break; case1: a+; ( C) switc
8、h(a) default: a+; break; case1: a=b; ( D) switch(a=1) case1: a=b; break; case0: a+; 15 下列叙述中正确的是 ( A)在 switch语句中必须使用 default ( B) break语句必须与 switch语句中的 case配对使用 ( C)在 switch语句中,不一定使用 break语句 ( D) break语句只能用于 switch语句 16 若以下选项中的变量 a, b, y均己正确定义并赋值,则语法正确的 switch语句是 ( A) switch(a*a+b*b)default: break;
9、case3: y=a+b; break; case2: y=a-b;break; ( B) switch(a+b)case1: case3: y=a+b; break; case0: case4: y=a-b; ( C) switch(a+9)case a: y=a-b: case b: y=a+b: ( D) switch a*bcase10: y=a+b; default: y=a-b; 17 有以下程序 #include stdio h main()int y=10; while(y-); printf(“y= d n“, y); 程序执行后的输出结果是 ( A) y=0 ( B) y=
10、-1 ( C) y=1 ( D) while构成无限循环 18 有以下程序 #include main()int a=7; while(a-); printf(“ d n“, a); 程序运行后的输出结果是 ( A) 0 ( B) 1 ( C) -1 ( D) 7 19 由以下 while构成的循环,循环体执行的次数是 int k=0; while(k=1)k+; ( A)一次也不执行 ( B)执行一次 ( C)无限次 ( D)有语法错,不能执行 20 有以下程序 main() int i=5; do if(i 3=1) if(i 5=2)printf(“* d“, i); break; i+
11、; while(i!=0); printf(“ n“), 程序的运行结果是 ( A) *3*5 ( B) *5 ( C) *7 ( D) *2*6 21 若 i和 k都是 int类型变量,有以下 for语句 for(i=0, k=-1; k=1; k+)printf(“* n“); 下面关于语句执行情况的叙述中正确的是 ( A)循环 体执行两次 ( B)循环体执行一次 ( C)循环体一次也不能执行 ( D)构成无限循环 22 有以下程序 #include stdio h main() int i, j, m=1; for(i=1; i 3; i+) for(j=3j 0; j-) if(i*j
12、 3)break; m*=i*j; printf(“m= d n“, m); 程序运行后的输出结果是 ( A) m=2 ( B) m=4 ( C) m=5 ( D) m=6 23 有以下程序 main() int i; for(i=1; i =40; i+) if(i+ 5=0) if(+i 8=0)printf(“ d“, i); printf(“ n“); 执行后的输出结果是 ( A) 24 ( B) 5 ( C) 32 ( D) 40 24 若有以下程序 main()int a=6, b=0, c=0; for(; a; ) b+=a: a-=+C; printf(“ d, d, d n
13、“, a, b, c); 则程序的输出结果是 ( A) 1, 14, 3 ( B) 0, 18, 3 ( C) 0, 14, 3 ( D) 0, 14, 6 25 以下程序段中的变量已正确定义 for(i=0; i 4; i+, i+) for(k=1; k 3; k+); printf(“*“); 程序段的输出结果是 ( A) * ( B) * ( C) * ( D) * 26 有以下程序 main() int i, j, x=0; for(i=0; i 2; i+) x+; for(j=0; j =3; j+) if(j 2)continue; x+: x+; printf(“x= d n
14、“, x); 程序执行后的输出结果是 ( A) x=4 ( B) x=6 ( C) x=12 ( D) x=8 27 以下叙述中正确的是 ( A)当 break出现在循环体中的 switch语句体内时,其作用是跳出该 switch语句体,并中止循环体的执行 ( B)只能在循环体内和 switch语句体内使用 break语句 ( C) continue语句的作用是:在执行完本次循环体中剩余语句后,中止循环 ( D)在 while语句和 do-while语句中无法使用 continue语句 国家二级 C语言( C语言程序设计)机试模拟试卷 4答案与解析 一、选择题 1 【正确答案】 B 【试题解析
15、】 本题主要考查变量的定义和赋值, C语言中变量的定义形式为:类型说明符变量名 =初始值:选项 A)中。 n1和 n2只能单独赋初值;选项 B)正确,定义了一个字符变量 c,初值为 32;选项 C错误,初值设置自身不能参与运算;选项 D)中字母 E后面的指数必须是整数。 【知识模块】 C语言程序设计 2 【正确答案】 C 【试题解析】 本题考查字符数组。选项 A)定义了一个字符数组 name,接下来直接给 name赋值字符串是错误的;选项 B)定义了两个字符串数组 str1和 str2 str1和 str2表示两个字符串的首地址,直接把 str1赋值给 str2错误;选项 C)是正确的;选项
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 语言程序设计 模拟 答案 解析 DOC
