1.函数即可以嵌套定义,又可以嵌套调用。( × ) 2。unsigned 和void 在C 中都是保留字。( √ ) 3。表达式 ++i 表示对变量i 自加1。 (√ ) 4。C 语言源程序的基本结构单位是main 函数。 ( × ) 5.字符常量的长度肯定为1。 (√ )
6。char a[]={’a',’b',’c'};char b[]={”abc”};数组a和数组b 占用的内存空间大小不一样. ( √ )
7。若有int i=10,,j=2; 则执行完i*=j+8;后i 的值为28。 (× ) 8。int i,*p=&i;是正确的C 说明。( √ ) 9。While 循环语句的循环体至少执行一次. ( × )
10。有数组定义int a[2][2]={{1},{2,3}};则a[0][1]的值为0。 ( √ ) 11. 7&3+12的值是15。( × )
12. C 语言本身不提供输入输出语句,输入和输出操作是由函数来 实现的.( √ )
13。 若 a=3,b=2,c=1 则关系表达式\"(a〉b)==c\" 的值为”真”。 (√ ) 14. 在C 语言中,整型数据在内存中占2个字节。 ( × )
15. 对二维数组a 来说,由于a+1与*(a+1)的值相等,因此二者的含义是一样的。 (× ) 16. break 语句可用于循环体内,它将退出该重循环. ( √ )
17。 将一个字符串\"abc”赋给字符串变量str 的方法是str=\"abc”.。 (× ) 18. 参加位运算的数据可以是任何类型的数。( × )
19。 C 语言规定:在一个源程序中,main 函数的位置必须在最开始. ( × ) 20。 静态外部变量只在本文件内可用。 ( √ )
21. 若有宏定义:#define S(a,b) t=a;a=b;b=t由于变量t 没定义,所以此宏定义是错误的.( × )
22. 字符串只能存放在字符型数组中。 ( √ )
23. 若 a=3,b=2,c=1 则关系表达式”(a>b)==c\" 的值为”真”. (√ ) 24. 在标准C 中,\"=\"是判断两个数是否相等。 ( × )
25。 函数调用可以出现在执行语句中,但不能出现在表达式中。 (× ) 26。 break 语句可用于循环体内,它将退出该重循环. ( √ ) 27. strcat(s1,s2)函数是将字符串s1复制到字符串s2中。 (× ) 28。 函数若无返回值,则它一定无形参。( × )
1
29. C 语言是一种结构化程序设计语言。 ( √ ) 30. 静态外部变量只在本文件内可用. ( √ ) 31。 关系运算符〈= 与 == 的优先级相同。( × ) 32。 C 语言中的整型常量有3种表示方法。 ( √ )
33。 C 语言中只能逐个引用数组元素而不能一次引用整个数组. (√ )
34. char *p=\"girl”;的含义是定义字符型指针变量p,p 的值是字符串”girl”. ( × ) 35. 静态变量和外部变量都是全局变量,它们的存储是静态的. (× ) 36。 共同体变量所占的内存长度等于最长的成员的长度。 ( √ ) 37. 由于主函数首部经常缩写成main(),所以它不可能有形式参数. (× ) 38. 通过return 语句,函数可以带回一个或一个以上的返回值。( × ) 39。 C 语言俗称\"低级语言的高级形式”,这说明C 语言的功能不强。 ( × ) 40. 程序进行编译时,不为形式参数分配存储空间。 ( √ ) 41。 C 语言的当型循环是先执行循环后判断条件.( × ) 42。 \"++\"运算符的优先级比”+\"运算符的优先低。( × )
43. 指针就是地址,因此一个变量的指针就是该变量的地址. (√ ) 44. 在if 语句中,else 前一个语句可不加\";” ( × )
45。 return 后面括号里的表达式的值即是此函数的值。 (√ )
46.char a[]={'a','b’,'c'};char b[]={\"abc\"};数组a和数组b 占用的内存空间大小不一样. ( √ )
47。 结构体类型只有一种. (× )
48。 在任何情况下,对二维数组的初始化都可以省略第一维的大小。( × ) 49. 结构化程序设计所规定的三种基本控制结构是顺序、选择、输出. ( × ) 50.有数组定义int a[2][2]={{1},{2,3}};则a[0][1]的值为0。 ( √ ) 二、单项选择题(每题2分) 1
.
C
语
言
中
运
算
对
象
必
需
是
整
型
的
运
算
符
是
( A )
A. %
B。 / C。 !
D. *
2。C程序的执行是从( A )
A本程序的main函数开始,到main函数结束
B本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C本程序的main函数开始,到本程序文件的最后一个函数结束
2
D本程序文件的第一个函数开始,到本程序main函数结束 3.以下选项中,( D )是不正确的 C 语言字符型常量。
A. 'a’ B. '\\x41' C。 '\\101’ D. ”a\" 4。 以下程序的输出结果是( C )
A.0 B. 1 C。 3 D. 不确定的值 #include〈stdio.h〉
main( )
{ int x=10, y=3;
printf(“%d\\n”,y=x/y); } 5.以下对二维数组a 的正确说明是( C ) A.int a[3][] B.float a(3,4) C。double a[1][4] D.float a(3)(4) 6。字符串\"ABC”在内存占用的字节数是( B )。 A. 3 B。 4 C. 6 D. 8
7.下列运算符中优先级最高的运算符是(A) A.!
B。%
C.—=
D。&&
8。以下程序的输出结果是( A ) A。 1
B。 2
C. 3
D。 4
#include〈stdio.h>
main( )
{ int w=4,x=3,y=2,z=1;
printf(“%d\\n”,(w〈x?w:z〈y?z:x)); } 9。以下叙述正确的是(D)
A。 do-while语句构成的循环不能用其他语句构成的循环代替. B。 do-while语句构成的循环只能用break语句退出
C. 用do—while语句构成循环时,只有在while后的表达式为非零时结束循环D。 用do-while语句构成循环时,只有在while后的表达式为零时结束循环 10。在定义一个结构体变量时,系统分配给它的内存是( D )。 A.结构体中第一个成员所需内存量 B。结构体中最后一个成员所需内存量 C.成员中占内存量最大者所需容量
3
D.各成员所需内存量的总和
11。若有下列定义,则对a 数组元素地址的正确引用是( C ). int a[5],*p=a;
A.*(p+5) B.*p+2 C.*(a+2) D.*&a[5] 12.下列定义不正确的是( C )。
A.#define PI 3.141592 B.#define S 345 C.int max(x,y); int x,y; { } D.static char c; 13。在C 语言中,形参的缺省存储类是( A )。 A.auto B.register C.static D.extern
14.以下函数调用语句中实参的个数是( A )。 exce((v1,v2),(v3,v4,v5),v6); A.3 B.4 C.5D.6
15。 以下描述中,正确的是( C )
A.预处理是指完成宏替换和文件包含中指定的文件的调用 B.预处理指令只能位于C 源文件的开始
C.C 源程序中凡是行首以#标识的控制行都是预处理指令
D.预处理就是完成C编译程序对C源程序第一遍扫描,为编译词法和语法分析作准备 16.以下字符中不是转义字符的是( C )
A。\\a B.\\b C.\\c D.\\\\
17。 C 语言程序中必须有的函数是( B ) A.#include \"stdio。h\" B。main C. printf D.scanf
18.有定义:int a=8,b=5,c;, 执行语句c=a/b+0。4;后,c 的值为 ( B ) A.1.4 B.1 C.2.0 D.2 19. 以下程序的输出结果是( D )
A.i=2,,j=1,k=3 B。 i=1,,j=1,k=2 C. i=4,,j=2,k=4 D. i=1,j=1,k=3 #include〈stdio。h〉 main( )
{int i,j,k,a=3,b=2;
i=(——a==b++)?—-a:++b;
4
j=a++;k=b;
printf(”i=%d,j=%d,k=%d\\n\",i,j,k); }
20. 下列选项中正确的语句组是( D )。 A.char s[8]; s={”Beijing\ B.char *s; s={”Beijing\"}; C.char s[8]; s=”Beijing”; D.char *s; s=\"Beijing”;
21。 若已定义x 为int 类型变量,下列语句中说 明指针变量p 的正确语句是( C ).
A.int p=&x; B.int *p=x; C.int *p=&x; D.*p=*x; 22.sizeof(float)是( C )。
A.一种函数调用 B.一个不合法的表达式 C.一个整型表达式 D.一个浮点表达式
23. 已知year 为整型变量,不能使表达式(year%4==0&&year%100!=0)||year%400==0的值为\"真\"的数据是( A )。
A.1990 B.1992 C.1996 D.2000 24. 下面有关for 循环的正确描述是 ( D ) A.for 循环只能用于循环次数已经确定的情况 B。for 循环是先执行循环体语句,后判断表达式 C。在for 循环中,不能用break 语句跳出循环体
D.for 循环的循环体语句中,可以包含多条语句,但必须用花括号括起来 25. 在位运算中,操作数每右移一位,其结果相当于( B )。 A.操作数乘以2 B.操作数除以2 C.操作数乘以16 D.操作数除以16 26. 以下能对二维数组a 进行正确初始化的语句是( B )。 A.int a[2][]={{1,0,1},{5,2,3}}; B.int a[][3]={{1,2,3},{4,5,6}}; C.int a[2][4]={{1,2,3},{4,5},{6}};
D.int a[][3]={{1,0,1}{},{1,1}};
27. C 语言中的文件的存储方式有( C )。
A.只能顺序存取 B.只能随机存取(或直接存取) C.可以顺序存取,也可随机存取 D.只能从文件的开头进行存取
28。 以下只有在使用时才为该类型变量分配内存的存储类说明是( B )。
5
A.auto 和 static B.auto 和 register C.register 和 static D。extern 和 register 29.关于return 语句,下列正确的说法是( C )。
A.在主函数和其他函数中均可出现 B.必须在每个函数中出现
C.可以在同一个函数中出现多次 D.只能在除主函数之外的函数中出现一次 30. 以下叙述中不正确的是( C ). A.预处理命令行都必须以#号开始
B.在程序中凡是以#号开始的语句行都是预处理命令行 C.C 程序在执行过程中对预处理命令行进行处理 D.以下是正确的宏定义 #define IBM_PC 31.一个C语言程序是由(C)组成的.
A.主程序 B.子程序 C.函数 D.过程 32.判断char型变量c1是否为小写字母的最简单且正确的表达式为(D)。
A。 ’a’〈=c1<=’z' B。 (c1〉=a)&&(c1〈=z)
C。 (’a’〈=c1)||('z'〉=c1) D. (c1>='a’)&&(c1<=’z')
33.为了判断两个字符串s1和s2是否相等,应当使用(D)。 A. if (s1==s2) B。 if (s1=s2)
C. if (strcpy(s1,s2)) D. if( strcmp(s1,s2) == 0 )
34. 设a,b都是int型变量,则表达式:(a=2,b=5,a〉b? a++ : b++ ,a+b)的值为(B). A. 7 B. 8 C。 9 D。 2
35. 设x、y和t均为int型变量,则以下语句:t=x; x=y; y=t;的功能是(D)。 A。 把x和y按从大到小排列 B。 把x和y按从小到大排列 C. 无确定结果 D. 交换x和y中的值 36. 下面标识符中,合法的用户标识符为(D)。 A. P#Ad B。
12a C.char D。_int 37. 循环语句while(!E);中的表达式!E等价于(C)。
6
A. E!=0 B。 E!=1 C。 E==0 D. E==1
38。 设有以下语句,则( A ) 不是对a数组元素的正确引用,其中0≤i〈10。 int a[10] = {0,1,2,3,4,5,6,7,8,9}; int *p = a; 供选择的答案是:
A。 a[p—5] B. *(&a[i])
C. p[i] D. *(a+i) 39. 若用数组名作为函数调用的实参,传递给形参的是 (A).
A。数组的首地址 B.数组第一个元素的值
C.数组中全部元素的值 D.数组元素的个数 40. 在一个文件中定义的全局变量的作用域为(D)。
A.本程序的全部范围; B。本文件的全部范围; C.函数内的全部范围; D。从定义该变量的位置开始到文件结束.
41. 以下语句中,指针s所指字符串的长度为(A)。 char *s=\"\\\\Hello\World\\n”;
A.13 B.12 C.14 D.10
42.若调用一个函数,且此函数中没有return语句,则正确的说法是:该函数(D). A.没有返回值 B.返回若干个系统默认值 C.能返回一个用户所希望的函数值 D.返回一个不确定的值 43。 以下只有在使用时才为该类型变量分配内存的存储类说明是( B ). A.auto 和 static B.auto 和 register C.register 和 static D.extern 和 register 44.关于return 语句,下列正确的说法是( C ).
A.在主函数和其他函数中均可出现 B.必须在每个函数中出现
C.可以在同一个函数中出现多次 D.只能在除主函数之外的函数中出现一次 45. 设有下列程序段,则scanf函数调用语句中对结构体变量成员的不正确引用为( B ). struct student
7
{ char name[20]; int age; char sex; }stu[5], *p; p=stu;
A. scanf(\"%s”, stu[0]。name); B。 scanf(\"%d\", p->age);
C. scanf(”%c\", &(p—>sex)); D。 scanf(\"%d\&stu[0]。age);
46.若x、y、j 和k 都是int 型变量,则计算表达式x=( k=32,j=6, i=4)后,x 的值为( C )。 A.4 B。16 C.32 D。52
47. C 语言中标识符只能由字母、数字和下划线组成,且第一个字符(B). A。必须为字母 B。必须为字母或下划线
C.必须为下划线 D。可以是字母、数字和下划线中任一种字符 48.在C 语言中,引用数组元素时,其数组下 标的数据类型允许是( C )。
A。整型常量 B。整型表达式
C.整型常量或整型表达式 D.任何类型的表达式 49. 执行下列语句后的输出为( A )。 int j=—1;
if(j<=1) printf(\"****\\n\"); else printf(\"%%%%\\n”);
A。**** B.%%%% C.%%%%c D。有错,执行不正确 50. 以下各选项企图说明一种新的类型名,其中正确的是( C )。 A.typedef v1 int; B.typedef v2=int; C.typedef int v3; D.typedef v4: int;
51。 先用语句定义字符型变量c,然后要将字符a 赋给c,则下列语句中正确的是( A ). A.c=’a’; B。c=”a\"; C.c=\"97”; D.C='97' 52。 用户定义的函数不可以调用的函数是( C )。 A。非整型返回值的 B。本文件外的 C。main 函数 D.本函数下面定义的
53. 与实际参数为实型数组名相对应的形式参数不可以定义为( C )。 A。float a[]; B.float *a; C。float a; D.float (*a)[3];
8
54. 下列程序段的输出结果为( C ). int a=7,b=9,t; t=a*=a>b?a:b; printf(”%d\",t);
A.7 B。9 C。63 D.49
55。 若有int *p=(int *)malloc(sizeof(int));则向内存申请到内存空间存入整数123的语句为( A )。
A.scanf(\"%d\); B。scanf(”%d\); C。scanf(\"%d\",*p); D。scanf(”%d”,**p);
56. 以下描述中正确的是( C ).
A。由于 do-while 循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句
B。do—while 循环由do 开始,用while 结束,在 while(表达式)后面不能写分号 C。在 do-while 循环体中,一定要有能使while 后面表达式的值变为零(”假\")的操作 D。do-while 循环中,根据情况可以省略while
57.在位运算中,操作数每左移一位,其结果相当于( A )。 A.操作数乘以2 B.操作数除以2 C.操作数除以4 D.操作数乘以4
58。 以下只有在使用时才为该类型变量分配内存的存储类说明是( B )。 A.auto 和 static B.auto 和 register C.register 和 static D。extern 和 register
59.若char a[10];已正确定义,以下语句中不能从键盘上给a 数组的所有元素输入值的语句是(D)。
A.gets(a); B.scanf(\"%s\",a); C.for(i=0;i<10;i++)a[i]=getchar(); D.a=getchar();
60。 设有下列程序段,则scanf函数调用语句中对结构体变量成员的不正确引用为( B )。 struct student { char name[20]; int age; char sex; }stu[5], *p; p=stu;
9
A。 scanf(\"%s\", stu[0]。name); B。 scanf(\"%d\p-〉age);
C。 scanf(”%c\sex)); D. scanf(\"%d”, &stu[0].age);
61.以下标识符中,不能作为合法的C 用户定义标识符的是( C ). A.answer B.to C。signed D._if 62. 以下数组定义中不正确的是( D )。 A。int a[2][3]; B.int b[][3]={0,1,2,3};
C。int c[100][100]={0}; D。int d[3][]={{1,2},{1,2,3},{1,2,3,4}}; 63. 设有说明:char w;int x;float y;double z;则表达式w*x+z—y值的数据类型为( D )。 A.float B.char C.int D.double
。 下列各m 的值中, 能使m%3==2&&m%5==3&&m%7==2为真的是( B )。 A.8 B.23 C.17 D.6 65. 以下正确的说法是:在C 语言中( A )。 A:实参和与其对应的形参各占用的存储单元 B:实参和与其对应的形参共占用一个存储单元
C:只有当实参和与其对应的形参同名时才共占用存储单元 D:形参是虚拟的,不占用存储单元
66。 经过以下语句定义后, 表达式z+=x〉y?++x:++y 的值为( C ). int x=1,y=2,z=3;
A.2 B.3 C.6 D.5
67.若有说明: int a[][4]={0,0};则下面不正确的叙述是( D )。 A。数组a 的每个元素都可得到初值0 B.二维数组a 的第一维大小为1 C.因为二维数组a 中第二维大小的值除经初值个数的商为1,故数组a 的行数为1 D。有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0 68. 以下对枚举类型名的定义中正确的是( B )。
A.enum a={sum,mon,tue}; B。enum a {sum=9,mon=—1,tue}; C。enum a={\"sum”,”mon\",”tue”}; D.enum a {\"sum\",”mon”,\"tue”}; 69。 putchar 函数可以向终端输出一个( D )。 A.整型变量表达式值 B.实型变量值
C。字符串 D。字符或字符型变量值 70。在定义一个结构体变量时,系统分配给它的内存是( D ).
10
A。结构体中第一个成员所需内存量 B。结构体中最后一个成员所需内存量 C。成员中占内存量最大者所需容量 D.各成员所需内存量的总和
71.若有下列定义,则对a 数组元素地址的正确引用是( C ). int a[5],*p=a; A.*(p+5) B.*p+2 C.*(a+2) D.*&a[5]
72. 若a=1,b=2则 a|b 的值是( D )。 A.0 B.1 C.2 D.3
73。 为了避免在嵌套的条件语句 if-else 中产生二义性,C 语言规定:else 子句总是与( B )配对。
A.缩排位置相同的if B.其之前最近的if C.其之后最近的if D.同一行上的if 74.下列说法不正确的是( A )
A.主函数main 中定义的变量在整个文件或程序中有效 B.不同函数中,可以使用相同名字的变量 C.形式参数是局部变量
D.在一个函数内部,可以在复合语句中定义变量,这些变量只在复合语句中有效 75。 以下描述中,正确的是( C )
A.预处理是指完成宏替换和文件包含中指定的文件的调用 B.预处理指令只能位于C 源文件的开始
C.C 源程序中凡是行首以#标识的控制行都是预处理指令
D.预处理就是完成C编译程序对C源程序第一遍扫描,为编译词法和语法分析作准备 三、程序填空题(每题8分)
1。 利用全局变量计算长方体的体积及三个面的面积. int s1,s2,s3; int vs(int a,int b,int c) { int v;
v= (1) ; s1=a*b;
s2=(2) ; s3=a*c;
11
return v; }
#include〈stdio。h〉 main() {int v,l,w,h; clrscr();
printf(\"\\ninput length,width and height: ”); scanf(\"%d%d%d”, (3) ,&w,&h); v= (4) ; printf(\"v=%d s1=%d s2=%d s3=%d\\n”,v,s1,s2,s3); getch(); }
答案:(1)a*b*c (2)b*c (3)&l (4)vs(l,w,h) 2. 以下程序的功能是用冒泡法对数组a 进行由小到大的排序。void fun(int a[],int n) { int i,j,t;
for (j=0; (1) ;j++) for (i=0; (2) ;i++) if( (3) )
{t=a[i];a[i]=a[i+1];a[i+1]=t;} }
#include〈stdio.h> main() {
int i,a[10]={3,7,5,1,2,8,6,4,10,9};
(4) ;
for(i=0;i〈10;i++) printf(”%3d”,a[i]); }
答案:(1) j<=n-1 (2) i〈n —1—j (3) a[i]〉a[ i + 1 ] 3. 输入a,b,c三个值,输出其中最大者。 #include {int a,b,c,max; printf(”please input a,b,c:\\n\"); scanf(\"%d,%d,%d”,(1) ); (2) if (maxprintf(\"The largest number is %d\\n\", (4) ); return 0; } 答案:(1)&a,&b,&c (2)max=a; (3)max〈c (4)max 4。 以下程序的功能是用选择法对10个整数进行由小到大的排序。#include printf(”\\n”); printf(\"The orginal numbers:\\n\"); for (i=1;i〈=10;i++) printf(\"%5d\; printf(”\\n\"); for (i=1;i<=9;i++) {(2) for ((3) ;j〈=10;j++) if (a[min]>a[j]) min=j; temp=a[i]; a[i]=a[min]; a[min]=temp; } printf(\"\\nThe sorted numbers:\\n”); 13 for (i=1;i〈=10;i++) printf(”%5d\(4) ); printf(”\\n”); return 0; } 答案:(1) &a[i] (2) min=i; (3) j=i+1 (4) a[i] 5。 要将“China”译成密码,密码规律是:用原来的字母后面第4个字母代替原来的字母。例如,字母“A”后面第4个字母是“E”,用“E\"代替“A”。因此,“China”应译为”Glmre”。 #include {char c1=(1) ,c2=’h’,c3='i’,c4='n’,c5=’a’; c1=(2) ; c2=(3) ; c3=(4) ; c4=(5) ; c5=(6) ; printf(”password is %c%c%c%c%c\\n\",c1,c2,c3,c4,c5); putchar(c1);putchar(c2);(7) ;putchar(c4);(8) ;putchar('\\n'); return 0; } 答案:(1)'C'(2)c1+4 (3)c2+4 (4)c3+4 (5) c4+4 (6)c5+4 (7)putchar(c3) (8)putchar(c5) 6。 给出一个百分制成绩,要求输出成绩等级A,B,C,D,E。90分以上为A,80~为B,70~79为C60~69为D,60分以下为E。 #include {printf(”\\n 输入有误,请重输\"); 14 scanf(\"%f”,&score); } switch((2) ) {case 10: case 9: grade=’A';break; case 8: grade='B';break; case 7: grade=’C’;break; case 6: grade='D’;break; (3) } printf(”成绩是 %5.1f,相应的等级是%c\\n ”,score,grade); } 答案:(1) score>100||score<0 (2) (int)(score/10) (3) case 5: case 4: case 3: case 2: case 1: case 0: grade='E’; return 0; 7. 要将“China”译成密码,密码规律是:用原来的字母前面第4个字母代替原来的字母.例如,字母’E’用’A’ 代替, ‘Z’ 用'U'代替, 字母’D'用’Z' 代替,字母’C’用’Y’ 代替, ‘B’ 用'X’代替,‘A' 用’W'代替。 #include 〈stdio。h〉 int main() {char c1= ,c2=’h’,c3=’i',c4=’n',c5='a’; c1=(1) ; c2=c2-4 ; c3=(2) ; c4=(3) ; c5=(4) ; printf(\"password is %c%c%c%c%c\\n\,c2,c3,c4,c5); return 0; } 15 答案:(1)c1+22 (2)c3-4 (3) c4-4 (4)c5+22 8. 输入4个整数,要求按由小到大顺序输出。 #include scanf(\"%d,%d,%d,%d”,&a,&b,&c,&d); printf(”a=%d,b=%d,c=%d,d=%d\\n”,a,b,c,d); if (a>b) { (1) } if (a〉c) { t=a;a=c;c=t;} if (a>d) { (2) } if (b>c) { t=b;b=c;c=t;} if (b〉d) { (3) } if ((4) ) { t=c;c=d;d=t;} printf(\"排序结果如下: \\n\"); printf(\"%d %d %d %d \\n\" ,a,b,c,d); return 0; } 答案:(1) t=a;a=b;b=t; (2) t=a;a=d;d=t; (3) t=b;b=d;d=t; (4)c>d 9. 下面的程序用来求出所有的水仙花数。所谓水仙花数是指一个3位数,它的各位数字的立方和恰好等于它本身。 #include 〈stdio.h〉 int main() { int i,j,k,n; printf(”parcissus numbers are \"); for (n=100;(1) ;n++) 16 { i=n/100; (2) ; k=(3) ; if ((4) ) printf(”%d \",n); } printf(\"\\n\"); return 0; } 答案:(1)n<1000 (2)j=n/10-i*10 (3)n%10 (4)n==i*i*i + j*j*j + k*k*k 10。 以下程序的功能是:从键盘上输入若干个学生的成绩(用输入负数结束输入),统计出平均成绩,并输出低于平均分的学生成绩.请填空。 #include ”stdio.h\" main() { int n=0,i; float x[1000],sum=0。0,ave,a; printf(”Enter mark:\\n\"); scanf(”%f\&a); while(a>=0.0 && n〈1000) { sum+= (1) ; x[n]= (2) ; n++; scanf(”%f\; } ave= (3) ; print(”Output:\\n”); printf(”ave=%f\\n\); for(i=0;i〈n;i++) if( (4) ) printf(”%f\\n”,x[i]); } 答案:(1) a (2)a (3) sum/n (4) x[i]〈ave 四、程序改错题(每题10分) 1.#include stdio.h int main {int a,b,sum a=123; b=456; sum=a+b print (“sum is %d\\n”,sum); 17 return 0; } 五处错误,改正:#include 2.#include 〈stdio.h〉 int main() {int max(int x,int y) int a,b,c; printf(“input a&b:”); scanf(“%d,%d”,a, b); c=max(a,b); printf(“max=%d\\n”,c); return 0; } int max(int x,int y); {int z; if(x>y) z=x else z=y; return(z); } 五处错误,改正:#include {int max(int x,int y); int a,b,c; printf(“input a&b:\"); scanf(“%d,%d”,&a,&b); c=max(a,b); printf(“max=%d\\n\return 0; 18 } int max(int x,int y) {int z; if(x〉y)z=x;else z=y; return(z); } 3. int main() {int c1,c2; c1=97 c2=98; printf(”%c%c\\n”c1,c2); printf(\"%d%d\\n\"c1,c2); return 0 } 五处错误,改正:#include〈stdio。h〉 int main() {int c1,c2; c1=197; c2=198; printf(\"%c%c\\n\",c1,c2); printf(\"%d%d\\n”,c1,c2); return 0; } 4.假如我国国民生产总值的年增长率为9%,计算10年后我国国民生产总值与现在相比增长 n 多少百分比。计算公式为:p=(1+r),r为年增长率,n为年数,p为与现在相比的倍数。 #include printf(”input r:\\n”); scanf(”r=%f\", r); n=10; p=pow(1+r,n); print (\"p=%f\\n,p); return 0 } 19 五处错误,改正:#include 〈stdio。h> #include
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- baoaiwan.cn 版权所有 赣ICP备2024042794号-3
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务