机械
C 语言期末复习资料
4
scanf("m=%dn=%dp=%d", &m, &n, &p); } 若想从键盘上输入数据,使变量 m 中的值为 123,n 中的值为 456,p 中的值为 789,则正确的输入是() 。 A)m=123n=456p=789 B)m=123 n=456 p=789 C)m=123,n=456,p=789 D)123 456 789 14)有以下程序 main() { int a, b, d=25; a=d/10%9; b=a-1; printf("%d,%d\n", a, b); } 程序运行后的输出结果是( ) 。 A)6,1 B)2,1 C)6,0 D)2,0 15)以下叙述中错误的是() 。 A)C 语句必须以分号结束 B)复合语句在语法上被看作一条语句 C )空语句出现在任何位置都不会影响程序运行 D)赋值表达式末尾加分号就构成赋值语句 16)以下叙述中正确的是() 。 A)调用 printf 函数时,必须要有输出项 B)使用 putchar 函数时,必须在之前包含头文件 stdio.h C)在 C 语言中,整数可以以十二进制、八进制或十 六进制的形式输出 D)调用 getchar 函数读入字符时,可以从键盘上输 入字符所对应的 ASCII 码 17)有以下程序 #include main() { char c1='1', c2='2'; c1=getchar();c2=getchar(); putchar(c1); putchar(c2); } 当运行时输入:a 后,以下叙述正确的是() 。 A)变量 c1 被赋予字符 a,c2 被赋予回车符 B)程序将等待用户输入第 2 个字符 C)变量 c1 被赋予字符 a,c2 中仍是原有字符 2 D)变量 c1 被赋予字符 a,c2 中将无确定值 二、填空题 1) 已知字符 A 的 ASCII 码值为 65, 以下语句的输出结果 是【1】 。 char ch='B'; printf("%c %d\n", ch, ch); 2)有以下语句段: int n1=10, n2=20; printf("【2】", n1, n2); 要求按以下格式输出 n1 和 n2 的值, 每个输出行从第一列
开始,请
填空。 n1=10 n2=20 3)有以下程序: #include "stdio.h" main( ) { char ch1, ch2; int n1, n2; ch1=getchar(); ch2=getchar(); n1=ch1-'0'; n2=n1*10+(ch2-'0'); printf("%d\n", n2); } 程序运行时输入:12,执行后的输出结果是 【3】 。 4)以下程序段的输出结果是【4】 。 int i=9; printf("%o\n", i); 5)以下程序运行后的输出结果是【5】 。 main() { int a, b, c; a=25; b=025; c=0x25; printf("%d %d %d\n', a, b, c); } 6)以下程序运行时,若从键盘输入:10 20 30,输 出的结果是【6】。 #include "stdio.h" main() { int i=0, j=0, k=0; scanf("%d%*d%d", &i, &k); printf("%d%d%d\n", i, j, k); } 7) 已知字符 A 的 ASCII 代码值为 65, 以下程序运行时若 从键盘输入:B33,则输出结果是【7】。 #include "stdio.h" main() { char a, b; a=getchar(); scanf("%d", &b); a=a-'A'+'0'; b=b*2; printf("%c %c\n", a, b); } 8)以下程序运行后的输出结果是【8】 。 main() { int x=0210; printf("%x\n", x); } 9)以下程序运行后的输出结果是【9】 。 main() { char c; int n=100; float f=10; double x; x=f*=n/=(c=50); printf("%d %f\n", n, x);