1、国家二级( C语言)章节练习试卷 31 及答案与解析 1 对 C语言源程序执行过程描述正确的是 _。 ( A)从 main函数开始执行 ( B)从程序中第一个函数开始执行,到最后一个函数结束 ( C)从 main函数开始执行,到源程序最后一个函数结束 ( D)从第一个函数开始执行,到 main函数结束 2 以下对 C语言的描述中,正确的是 _。 ( A) C语言源程序中可以有重名的函数 ( B) C语言源程序中要求每行只能书写一条语句 ( C)注释可以出现在 C语言源程序中的任何位置 ( D)最小的 C语言 源程序中没有任何内容 3 下列语句中,说法正确的是 _。 ( A) C程序书写格式严格
2、,每行只能写一个语句 ( B) C程序书写格式严格,每行必须有行号 ( C) C程序书写格式自由,每行可以写多条语句,但之间必须用逗号隔开 ( D) C程序书写格式自由,一个语句可以分写在多行 4 下列字符序列中,不可用作 C语言标识符的是 _。 ( A) abc123 ( B) no.1 ( C) _ok ( D) _123_ 5 以下选项中,属于 C语言中合法的常量的是 _。 ( A) 234.34 ( B) 1/8 ( C) 0 ( D) “a”b 6 不合法的十六进制数为 _。 ( A) oxff ( B) oxabc ( C) Ox11 ( D) Ox19 7 TubroC中 int
3、变量所表示的数据范围是 _。 ( A) -32 768 32 767 ( B) 0 65 535 ( C) -32 768 32 768 ( D) 0 65 5361 8 以下选项中,正确的整型常量是 _。 ( A) 12 ( B) -20 ( C) 1,000 ( D) 456 9 Tubro C中 long int类型变量所占的字节数是 _。 ( A) 1 ( B) 2 ( C) 3 ( D) 4 10 下列变量定义中合法的是 _。 ( A) short _a=1-1e-1; ( B) doubleb=1+5e2.5; ( C) long do=OxfdaL; ( D) float2_an
4、d=1-e-3; 11 下列常数中,合法的 C常量是 _。 ( A) 3.0+5 ( B) 101 ( C) XY ( D) 1e-2.5 12 若已定义 x和 y为 double类型,则表达式 x=1, y=x+3/2的值是 _。 ( A) 1 ( B) 2 ( C) 2 ( D) 2.5 13 若有以下程序段: int c1=1, c2=2,c3; c3=1.0/c2*c1;则执行后, c3中的值是_。 ( A) 0 ( B) 0.5 ( C) 1 ( D) 2 14 下列程序的输出结果是 _。 main() double d=3.2; int x, y; x=1.2; y=(x+3.8)
5、/5.0; printf(“%dn“, d*y); ( A) 3 ( B) 3.2 ( C) 0 ( D) 3.07 15 下面程序的输出结果是 _。 main() int a=6,b=3; printf(“%dn“ b=(a/b, a%b); ( A) 0 ( B) 1 ( C) 2 ( D)不确定的值 16 已知字母 a的 ASCII码为十进制数的 97,下面程序的输出结果是 _。 main() charcl,c2; C1=a+5-3; c2=a+6-3; printf(“ c, dn”, c1,c2); ( A) 100,d ( B) c,100 ( C) c,d ( D)输出格式不对,
6、结果不确定 17 定义 a为整型变量,且设其初值为 10,则表达式 a+=a-=a*=a的值为 _。 ( A) 10 ( B) 0 ( C) 100 ( D) -10 18 下列程序的执行结果是 _。 main() int a=5,b=2; float x=4.5, y=3.0.u; u=a/3+b*x/y+1/2; printf(“%fn“,u) ( A) 1 ( B) 2 ( C) 3 ( D) 4 19 若有定义 “int a=10, b=9, c=8; ”,顺序执行下列语句后,变量 b中的值是_。 c=(a-=(b-5); c=a% 11)+(b=3); ( A) 2 ( B) 3 (
7、 C) 4 ( D) 5 20 数字字符 0的 ASCII值为 48,若有以下程序 main() char a=1, b=2; printf(“%c,b+); printf(“%dn“, b-a); 程序运行后的输出结果是 _。 ( A) 3, 2 ( B) 3, 1 ( C) 2, 1 ( D) 2, 2 21 设有 int x=11;则表达式 (x+*1/3)的值是 _。 ( A) 3 ( B) 4 ( C) 11 ( D) 12 22 设 x、 y、 z和 k都是 int型变量,则执行表达式: x=(y=4, Z=16, k=32)后, x的值为 _。 ( A) 4 ( B) 16 (
8、C) 32 ( D) 52 23 有以下程序 main() int m=3, n=4, x; x=-m+; x=x+8/+n; printf(“%dn“, x); 程序运行后的输出结果是 _。 ( A) 3 ( B) 5 ( C) -1 ( D) -2 24 设指针变量 p是指向整型变量 b的,则 p中存放的是 _。 25 下面的程序段的,运行结果是 _。 int c=6; void test(x, y) int*x, y; *x=3*(*x); y=*x+y; c=y%(*x); printf(“x=%d, y=%d, c=%dn“, *x, y, c); main() int a=1, b
9、=4; test (&a, b); printf(“a=%d, b=%d, c=%dn“, a, b, c) 26 以下程序运行后输出 _。 #include stdio.h int f(char*s1,char*s2) static int n1,n2; while(*s1+)n1+; while(*s2+)n2+; return n1-n2; main() printf(“%d“, f(“c: program“,“12at34n“); 27 设有以下程序: main() int a, b=5, m=10, *p1=&k, *p2=&m; a=p1=&m; b=(*p1)*(*p2)+a;
10、printf(“a=%dn“,a); printf(“b=%dn“,b); 执行该程序后, a的值为 _, b的值为 _。 国家二级( C语言)章节练习试卷 31 答案与解析 1 【正确答案】 A 2 【正确答案】 C 3 【正确答案】 D 4 【正确答案】 B 5 【正确答案】 C 6 【正确答案】 A 7 【正确答案】 A 8 【正确答案】 B 9 【正确答案】 D 10 【正确答案】 A 11 【正确答案】 A 12 【正确答案】 C 13 【正确答案】 A 14 【正确答案】 C 15 【正确答案】 C 16 【正确答案】 B 17 【正确答案】 B 18 【正确答案】 D 19 【正确答案】 B 20 【正确答案】 D 21 【正确答案】 B 22 【正确答案】 C 23 【正确答案】 C 24 【正确答案】 变量 b的地址 25 【正确答案】 x=3, y=7, c=1 a=3, b=4, c=1 26 【正确答案】 4 27 【正确答案】 0 50