您的当前位置:首页正文

C语言程序设计复习题

2024-08-26 来源:好走旅游网
一、 选择题:

1、以下能正确定义数组并正确赋初值的语句是( D )。 A、int N=5,b[N][N];

B、int a[1][2]={{1},{3}}; D、int d[][2]={{1,2},{3,4}};

C、int c[2][]={{1,2},{3,4}}; main() { int x;

scanf(\"%d\

if(x++>5) printf(\"%d\\n\

else printf(\"%d\\n\

A、7 B、6 C、5 D、4

3、下列四组选项中,不合法的用户标识符的选项是( D )。

A、P_0 B、 _A C、temp_123 D、b-a 4、若x、i、j和k都是int型变量,则计算下面表达式后,x的值为( C )。 x=(i=4,j=16,k=32)

A、 4 B、 16 C、 32 D、 52 5、下列选项中哪个是合法的标识符( B )。

A、 int B、 _a2 C、 b# D、 7b

6、下列选项定义了整型变量a和b,并为这两个变量赋初值为5,不正确的语句是( B )。

A、 int a=5,b=5; B、 int a=b=5; C、 int a,b; D、 int a=5,b;

a=5;b=5; b=5;

7、若变量已正确定义并赋值,下面不符合C语言语法的表达式是( A)。 A、a=a+7; B、a=7+b+c,a++ C、int 12.3%4 D、a=a+7=a+b 8、执行下面的程序时若从键盘上输入6,则输出结果是( C )。 main() { int x;

scanf(\"%d\

if(x-->5) printf(\"%d\\n\

else printf(\"%d\\n\

A、7 B、6 C、5 D、4

1

2、执行下面的程序时若从键盘上输入6,则输出结果是( D )。

9、设有程序段 int k=10;

while(k==0) k=k-1;

则下面描述中正确的是( B )。

A、 while循环 10次 B、 循环体一次也不执行 C、 循环是无限循环 D、 循环体只执行一次 10、以下对数组的定义方式哪个是正确的?( A ) A、 #define size 10 B、 int n=2;

int a[size] ; int a[n];

C、 char name(-10); D、 float weight[10.3]; 11、以下对二维数组a的正确说明是( C )。

A、 int a[7][]; B、 float a[7,7]; C、 double a[7][7]; D、 float a(7)(7); 12、以下程序的运行结果是( A )。 main()

{ int x=1,a=0,b=0;

switch(x) { case 0: b++;

case 1: a++; case 2: a++;b++; }

printf(“a=%d,b=%d\\n”,a,b); }

A、 a=2,b=1 B、 a=1,b=1 C、 a=1,b=0 D 、a=2,b=2 13、下列字符中,ASCⅡ码值最小的是( A )。

A、 A B、 a C、 Z D 、x

14、设a、b和c都是int型变量,且a=3,b=4,c=5;则以下的表达式中,值为1的表达式是:( C ) A、!c&&1 B、a>=b C、!a||b+c&&b-c D、!a||!b

15、设有定义int a,b;当执行scanf(“%d,%d”,&a,&b);语句时,若要求a、b的值分别为2、3,则正确的输入格式为( D )。 A、 a=2,b=3 B、 a=2 b=3 C、 2 3 D、 2,3 16、若有定义int i=3,j=3; printf(\"%d, %d\其运行结果为( A )。

2

A、 4,3 B、 3,3 C、 4,4 D、 3,4 17、以下不正确的语句是( B )。 A、 if(x>y) ; B、 if(x=y)&&(x!=0) x+=y;

C、 if(x!=y) scanf(“%d”,&x); else scanf(“%d”,&y) ; D、 if(x18、在调用函数时,如果用数组名作为函数调用的实参,传递给形参的是( A )。 A、 数组的首地址 B 、数组的第一个元素的值 C 、数组中全部元素的值 D 、数组元素的个数

19、若有定义char array[]=\"hello\";则数组array所占存储空间的字节数为

( C )。

A 、4 B、 5 C、 6 D、 7 20、C语言规定:源程序中main函数的位置( C )。

A、 必须在最开始 B、 必须在系统调用的库函数的后面 C、 可以任意 D、 必须在后面 21、以下叙述不正确的是( D )。 A、 一个C程序可由一个或多个函数组成 B、 一个C程序必须包含一个main函数 C、C程序的基本组成单位是函数

D、在C程序中,注释说明只能位于一条语句的后面 22、下列选项中哪个是合法的标识符( C )。 A、3days B、 char C、

_above D、 a>b

23、设int n=3;则有表达式++n,n的结果是( C )。 A、2 B、3 C、4 D、5 24、从循环体内某一层跳出,继续执行循环外的语句是( A )。 A、 break语句 B、 return语句 C、 continue语句 D、 空语句 25、下面for 循环的正确描述是( A )。

A、for循环体语句中,可以包含多条语句,但必须用花括号括起来 B、for循环只能用于循环次数已经确定的情况,不能用于无限循环 C、for循环是先执行循环体语句后判断表达式 D、在for循环中,不能用break语句结束循环 26、下列实型常量用指数形式表示正确的是( A )。

A、 123E2 B、 .e4 C、 e-5 D、 1.2E-3.5

3

27、a是int类型变量,c是字符变量。下列输入语句中错误的是( B )。 A、 scanf(\"%d,%c\、 scanf(\"%d%c\C、 scanf(\"%d%c\、 scanf(\"d=%d,c=%c\28、执行下列语句后输出结果是( C )。

int i,x[3][3]={1,2,3,4,5,6,7,8,9};

for(i=0;i<3;i++) printf(″%d″,x[i][2-i]); A、 147 B、 159 C、 357 D、 369 29、设有int a=1,b=2,c=3,d=4,m=2,n=2;

执行(m=a>b)&&(n=c>d)后n的值( D )。

A、 1 B、 2 C、 3 D、 0 30、C语言中while和do-while循环的主要区别是( A )。 A、do-while的循环体至少无条件执行一次

B、while的循环控制条件比do-while的循环控制条件严格 C、do-while允许从外部转到循环体内 D、do-while的循环体不能是复合语句 31、下列运算符中优先级最高的是( B )。

A、 < B、 + C、 && D、 != 32、执行以下程序段后的输出结果是( C )。 main()

{ int a=4; float b=9.5;

printf(“a=%d,b=%4.2f\\n”,a,b); } A、 a=%d,b=%f\\n B、a=%d,b=%f C、 a=4,b=9.50 D、 a=4,b=9.5

33、下列选项定义了整型变量a,b和c,并为这三个变量赋初值为2,不正确的

语句是( A )。

A、 int a=b=c=2; B、 int a=2,b=2,c=2; C、 int a,b,c; D、 int a=2,c=2,b;

a=2;b=2;c=2; b=2;

34、在C语言中,要求运算对象必须是整型的运算符是( D )。 A、 / B、 + C、 == D、 % 35、若t为double类型,表达式t=1,t+5,t++的值是( C )。 A、1 B、6.0 C、2.0 D、1.0

36、在调用函数时,如果实参是简单变量,则它与对应形参之间的数据传递方式

是( A )。

4

A、 单向值传递 B、 地址传递

C、 由实参传给形参,再由形参传给实参 D、 传递方式由用户指定

37、不能把字符串“Hello!”赋给数组b的语句是( B )。 A、 char b[10]={'H','e','l','l','o','!'}; B、 char b[10] ;b=\"Hello!\";

C、 char b[10] ;strcpy(b,\"Hello!\"); D、 char b[10]=\"Hello!\";

38、以下正确的函数声明形式是( C )。 A、 float fun( int x, int y ) B、 float fun( int x; int y); C、 float fun( int, int) ; D、 float fun( int x, y ) ;

39、以下对二维数组a的正确说明是( C )。

A、 int a[3][]; B、 float a[3,4]; C、 double a[3][4]; D、 float a(3)(4); 40、下列关于C语言中注释的叙述中错误的是( D )。 A、 注释部分可以出现在程序中任意合适的地方 B、 以“/*”开头并以“*/”结尾的字符串为C语言的注释符 C、 程序编译时,不对注释作任何处理 D、 程序编译时,需要对注释进行处理

41、下列各组字符序列中,全部为合法标识符的一组是( D )。 A、 X.O , sum , _above B、 class , lotus_1 , 2day C、 #md , month , student_n1 D、 D56 , r_1_2 , st_1 42、表达式“!5 || 6 && 8”的值是( A )。

A、 1 B、 0 C、 5 43、若定义int a[5];则对a数组元素的引用错误的有( C )。A、a[3] B、a[5-2] C、a(0) D、a[0]

44、假设所有变量均为整数,则表达式(a=2,b=5,b++,a+b)的值是( B )A、 7 B、 8 C、 6 45、下面不正确的字符常量是( A )。

A、“C” B、‘?’ C、‘W’ D、‘\\101’

5

D、 8 。 D、 2 46、若有定义int a=7;float x=2.5,y=4.7; 则表达式x+a%3*(int)(x+y)%2/4的值是( A )。

A、 2.500000 B、2.750000 C、 3.500000 D、 0.000000

47、以下程序的输出结果是( D )。 main( )

{ int x=11,y=11;

printf(\"%d,%d\\n\,--y); }

A、 11,11 B、 10,10 C、10,11 D、 11,10 48、以下不正确的描述是( B )

A、 break 语句能够用于循环语句和switch语句 B、 continue语句的作用是结束整个循环的执行

C、 在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环的执行

D、 在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环 49、C语言程序是由( D )组成。

A、 过程 B、 子程序 C、主程序和子程序 D、 函数 50、执行以下程序段后的输出结果是( B )。 int x=7,y=8,z=9;

if(x>y) x=y; y=z; z=x;

printf(“x=%d,y=%d,z=%d\\n”,x,y,z);

A、 x=7,y=8,z=7 B、 x=7,y=9,z=7 C、 x=8,y=9,z=7 D、 x=8,y=9,z=8 51、执行以下程序段后的输出结果是( C )。 main() { int n=3;

while(n- -!=0) ; printf(“%d\\n”,n); }

A、 0 B、 1 C、 -1 D、 死循环 52、逻辑运算符两侧运算对象的数据类型是 ( D )。 A、只是0或1 B、 只能是0或非0正数 C、 只能是整型或字符型数据 D、 可以是任何合法的数据类型

6

53、下面能正确表示八进制数的是( D )。

A、 0x16 B、 029 C、 -114 D、 033 54、C语言中主函数的个数是( A )。

A、 1 B、 2 C、 3 D、 任意个

55、以下描述中正确的是( D )。

A、 while、do-while、for循环中的循环体语句都至少被执行一次 B、 do-while循环中,while(表达式)后面的分号可以省略

C、 while循环体中,一定要有能使while后面表达式的值变为“假”的操作 D、 do-while循环中,根据情况可以省略while 56、下面正确的字符常量是( B )。

A、 'abc' B、 'a' C、 \"a\" D、 \"ab2\" 57、下列实型常量用指数形式表示正确的是( B )。 A、.e6 B、 123E4 (C、e-6 D、 2.1E-5.3 58、以下程序的输出结果是( B )。

main()

{ int i, a[10];

 for(i=9;i>=0;i--) a[i]=10-i;

 printf(\"%d%d%d\; }

A、 258 B、 741 C、 852 D、 369 59、设有以下程序段,则下面描述中正确的是( B )。 int k=2;

while(k==0) k=k-1;

A、 while循环 2次 B、 循环体一次也不执行 C、 循环是无限循环 D、 循环体只执行一次 60、下列实型常量用指数形式表示正确的是( B )。 A、3E B、1.23E4 C、E D、1.2E-3.4

61、设x,y和z均为int型变量,则执行语句“x=(y=(z=10)+5)- 5;”后,x,y和z的值是( A )。

A、 x=10 B、 x=10 C、 x=10 D、 x=10 y=15 y=10 y=10 y=5 z=10 z=10 z=15 z=10 62、以下程序的输出结果是( D )。

7

main( )

{ int x=5,y=5;

printf(“%d,%d\\n” ,--x,y++);

}

A、 4,6 B、 6,5 C、 5,5 D、 4,5 63、若用数组名作为函数调用的实参,传递给形参的是( A ) A、数组的地址 B、数组中第一个元素的值 C、数组中的全部元素的值 D、数组元素的个数

64、下列四组选项中,属于C语言合法标识符的选项是( C )。 A、2ab B、 @f C、_a12 D、?b 65、执行以下语句后,则x,y和z的值分别为( B )。

int x=1,y=2,z=3; if(x>y) z=x;x=y;y=z;

A、 x=1,y=2,z=3 B、 x=2,y=3,z=3 C、 x=2,y=3,z=1 D、 x=2,y=3,z=2 66、以下叙述正确的是( C )。

A、 在C程序中main函数必须位于程序的最前面 B、 C程序的每行中只能写一条语句

C、 C语言本身没有输入输出语句,输入输出需要调用库函数 D、 在对一个C程序进行编译的过程中,可发现注释中的拼写错误 67、已知各变量的类型说明如下: int k,a,b; unsigned long w=5; double x=1.42;

则以下不符合C语言语法的表达式是( A )。

A、x%(-3) B、w+=-2 C、k=(a=2,b=3,a+b) D、a+=a-=(b=4*3)

68、设有定义int a,b;当执行scanf(“%d,%d”,&a,&b);语句时,若要求a、b的值分别为3、5,则正确的输入格式为( C )。 A、a=3,b=5 B、a=3 b=5 C、3,5 D、3 5

69、判断char型变量ch是否为小写字母的正确表达式是( C ) 。 A、‘a’<=ch<=‘z’ B、(ch>=‘a’)&(ch<=‘z’) C、(ch>=‘a’)&&(ch<=‘z’) D、(‘a’<= ch)AND(‘z’>= ch)

8

70、下列选项中,正确的字符常量是( C )。 A、“F” B、’\\\\’’ C、’W ’ D、”” 71、以下说法中正确的是( C )。

A、C语言程序总是从第一个定义的函数开始执行。

B、在C 语言程序中,要调用的函数必须在main()函数中定义 C、C 语言程序总是从main()函数开始执行

D、C语言程序中的main()函数必须放在程序的开始部分 72、以下程序的运行结果是( A )。 main()

{ int k=4,a=3,b=2,c=1;

printf(“%d\\n”,kA、 1 B、 2 C、 3 D、 4 73、以下选项中可作为C语言合法整数的是( C )。 A、10110B B、0386 C、0xffa D、x2a2 74、以下叙述错误的是( D )。

A、一个C源程序可由一个或多个函数组成。 B、一个C源程序必须包含一个main函数。 C、C程序的基本组成单元是函数。

D、在C程序中,注释说明只能位于一条语句的后面。 75、下列运算符中优先级最低的是( A ) A、? : B、&& C、+ D、!=

76、设有定义int a,b;当执行scanf(“%d %d”,&a,&b);语句时,若要求a、b的值分别为12、24,则正确的输入格式为( D )。

A、a=12,b=24 B、a=12 b=24 C、12,24 D、12 24 77、下列运算符中,不属于关系运算符的是( C )。 A、< B、> = C、 ! D、 ! =

78、若定义int a[10];则对a数组元素的正确引用的有( D )。 A.a[10] B.a[5.5] C.a(9) D.a[5-5] 79、已知字母A的ASCⅡ值为65,且c2为字符型,则执行以下语句后,c2中的

值为( A )。printf(“%c”,c2=’A’+’6’-‘3’); A、D B、68 C、不确定的值 D、C

80、能正确表示逻辑关系:“a<10并且 a>0”的C语言表达式是(C )。 A、a<10 and a>0 B、a<10| a>0 C、a<10 && a>0 D、a<10||a>0

9

81、字符串“Aabc”的长度为( C )。

A、1 B、5 C、4 D、6 82、下列程序段运行后,x的值是( D)。 int a=1,b=0,x=4; if(a==0)++x; else if(b!=0)x=7;

else x=13;

A、4 B、5 C、7 D、13

83、设 a、b、c、d、m、n均为 int型变量,且 a=5、b=6、c=7、d=8、m=0、n=0,

则逻辑表达式(m=ad)运算后,表达式的值为( B )。 A、0 B、1 C、2 D、3 84、以下选项中,符合C语言标识符命名规则的是( B )。 A、Aa_! B、abc C、for D、3a

85、若希望当A的值为奇数时,表达式的值为真,A的值为偶数时,表达式的值为假,则以下不能满足要求的表达式是( C )。 A、A%2= =1 B、!(A%2= =0) C、!(A%2) D、A%2 86、以下程序段运行后,循环体执行( A )。 int n=3; while(n==0) { n/=5; n--; }

printf(“%d”,n);

A、0次 B、1次 C、2次 D、3次 87、结构化程序设计语言的基本结构中不包括( D )。 A、顺序结构 B、选择结构 C、循环结构 D、指针结构 88、C语言程序中,主函数有( A )。

A、1个 B、可以一个都没有 C、可以有多个 D、2个 89、设n=10,i=4,则赋值运算 n%=i+1执行后,n的值是( A )。. A、 0 B、 3 C、 2 D、 1 90、当x、y、z的值分别为3、4、5时,执行以下各语句: if(x>z){x=y;y=z;z=x;} else {x=z;z=y;y=x;} 则x,y,z的值为( B )。

10

A、5 5 4 B、5 4 5 C、3 4 5 D、5 4 4 91、下面有关for循环的正确描述是( D )。 A、for循环只能用于循环次数已经确定的情况 B、for循环是先执行循环体语句,后判定表达式 C、在for循环中,不能用break语句跳出循环体

D、for循环体语句中,可以包含多条语句,但要用花括号括起来 92、以下不正确的叙述是( D )。 A、在C程序中,逗号运算符的优先级最低 B、在C程序中,APH和aph是两个不同的变量

C、若变量a和b类型相同,在计算了赋值表达式a=b后b 中的值将放入a中,而b 中的值不变

D、当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值

93、关于C程序循环语句说法不正确的是(A )。

A、只能构成单个循环 B、while语句中可以有continue语句 C、可以进行多重循环嵌套 D、for语句中可以有break语句 94、一个C程序的执行是从( A )。 A、 本程序的main函数开始,到main函数的结束

B、 本程序文件的第一个函数开始,到本程序文件的最后一个函数的结束 C、 本程序文件的main开始,到本程序文件的最后一个函数的结束 D、 本程序文件的第一个函数开始,到本程序文件的main函数的结束 95、下面不正确的字符串常量是( A )。

A、 'abc' B、 \"12'12\" C、 \"0\" D、 \" \" 96、有以下程序 main() {int x,i;

for(i=1;i<100;i++) {x=i; if(x%2==0) if(x%3==0) if(x%7==0) printf(\"%d \

}} ( B )。

A、39 81 B、42 84 C、26 68 D、28 70 97、若有定义char array[]=\"CHINA\";则数组array所占存储空间的字节数为

11

( C )。

A、4 B、5 C、6 D、7 98、以下能正确定义数组并正确赋初值的语句是( D )。 A、int N=5,b[N][N];

B、int a[1][2]={{1},{3}};

C、int c[2][]={{1,2},{3,4}}; D、int d[3][2]={ 1,2,3,4}; 99、以下变量均为整型,则值不等于7的表达式是( C )。 A、(m=n=6,m+n,m+1) B、(m=n=6,m+n,n+1) C、(m=6,m+1,n=6,m+n) D、(m=6,m+1,n=m,n+1) 100、以下( D )是八进制数。

A、0x12 二进制 B、123 十进制 C、1001 十六进制 D、0123

101、以下程序的输出结果是( B )。 main()

{ int x=2,y=-1,z=2; if(xA、 3 B、 2 (C、 1 D、 0 二、判断题:

1、若定义一个数组int a[3][3]; 则可引用a[3][3]这一元素。 ( F) 2、定义数组时,所有数组元素类型必须相同。 ( T ) 3、关系运算符的运算对象可以是任意类型。 ( T ) 4、a+2=b;是合法的赋值语句。 ( F ) 5、字符型变量用来存放字符常量,最多只能放2个字符。 ( F) 7、算术运算符%两边的运算对象只能为整型数据。 ( T ) 8、编译时不会发现注释中的错误。 ( T ) 9、一维数组初始化的数据个数允许少于数组的长度,但不能多于数组的长度。

( T )

10、++和--运算符不仅可以用于变量,还可以用于常量和表达式。 ( F ) 11、函数的定义和声明不是一回事。 ( T ) 12、在C程序中,注释说明只能位于一条语句的后面。 ( F)

12

6、只有一个“;”的语句,即空语句,在C语言中是不合法的。 ( F)

13、若定义一个数组int a[3][3]; 则可引用a[3][3]这一元素。 ( F ) 14、= =是关系运算符,=是赋值运算符。 ( T ) 15、一个C源程序可以由一个或多个函数组成。 ( T) 16、自定义函数只能在主函数之后。 ( F )

17、for语句的一般形式中,三个表达式都可以省略。 ( T) 19、定义数组时,所有数组元素类型必须相同。 ( T ) 20、形参可以是变量、常量、表达式。 ( F ) 21、在scanf(\"%d,%d\函数中,可以使用一个或多个空格作为两个输入数之间的间隔。 ( F ) 22、C语言规定,可以在定义变量时,同时使变量初始化。 ( T ) 23、a=a+2=b;是合法的赋值语句。 ( F ) 24、凡是表达式都有一个值。 ( T ) 25、C语言中可以把一个字符串赋给一个字符变量。 ( F ) 三、填空题:

1、一个C语言源程序中至少应含有一个 主 函数。 2、无返回值的函数应定义为 void 类型。

3、C语言提供的三种逻辑运算符是 && 、 || 、 ! 。 4、一维数组的下标从 0 开始。

5、设int x=10;有表达式x+=3+x%(-3),则x=________14____。

6、定义int a[3][3]={{0,1,2},{3,2,4},{0}};则初始化后a[2][1]的值是 0 。 7、表达式(int)(2.0/7.0)的值是 0 。

8、若x为int型变量,则执行以下语句后x的值是 -4 。

x=2;x+=x-=x+x;

9、假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为 9 , a的值为 3 。

10、C语言中,表示“假”值用 0 表示。

11、若s是int型变量,且s=6,则表达式s%2+(s+1)%2的值为 1 。 12、若x为int型变量,则执行以下语句后x的值是 -14 。

x=7; x+=x-=x+x;

13、若a是int型变量,且a的初值为3,则表达式a+=a-=a*a后a 的值为 -12 。

14、表达式3>2>1的值为 0 ,表达式1<2<3的值是 1 。

13

18、+ +和- -运算符可以用于常量和变量。 ( F )

15、定义int a[3][5]={{0,1,2,3,4},{3,2,1,0},{0}};则初始化后a[1][1]的值是 2 。

16、表达式1<3<9的值是 1 ,表达式9>3>1的值是 0 。 17、执行以下的程序段后,a= 3 ,b= 3 。 int x=3,y=2,a,b,c; a=((x==y++)?x--:y++); b=x++;

18、表达式(int)(7.0/2.0)的值是 3 。

19、有表达a=(b=4)+(c=2),若a,b,c均是int型变量,则计算表达式后a的值

为 6 ,b值为 4 ,c值为 2 。

20、在Turboc 2.0中,一个char型数据在内存中所占的字节数为 1 ; 一个float型数据在内存中所占的字节数为 4 。 21、执行以下的程序段后,a= 4 ,x= 12 。 x=(a=4,6*2)

22、结构化程序设计语言的三种基本结构是_ 顺序结构__、_选择结构 _、_循环结构_ _。

23、条件“x≤0或1010&&x<20 。 24、C提供的三种逻辑运算符是 &&, ||,__!__ ____。

25、C程序的开发过程有编辑、 编译__、_链接 __、_运行_ 。

26、程序的三种基本结构是__选择 __ ____、__ __顺序 ____和__循环 __ ____结构。

27、所有运算符中优先级最低的为 逗号 运算符。

28、从用户使用角度看,函数分为两类: 系统库 函数和 用户自定义 函数。

29、若x为int型变量,则执行以下语句后x的值是___-16_ _____。 x=8;

x+=x-=x+x;。

30、若x,y为int型变量,则表达式(y=6,y+1,x=y,x+1)的值是 7 。 四、读程序,写出运行结果

1、以下程序的运行结果为( *#*#*#$ )。

main() { int i;

for(i=1;i<=5;i++)

{ if(i%2!=0)printf(“*”);

14

else continue;

printf(“#”);} printf(“$\\n”); }

2、运行结果为( 4 )

main() { char a;

a=’C’-’A’+’2’; printf(“%c\\n” ,a) ; }

3、运行结果为( 132 )

main()

{ int i,m=0,n=0,k=0; for(i=9;i<=11;i++) }

4、运行结果为( A+B=9 )

plus(int x, int y) { } main()

{ int a=4,b=5,c ;

c=plus(a,b);

printf(\"A+B=%d\\n\ }

5、以下程序的运行结果为( 3 )。

main()

{ int x=100,a=10,b=20; int v1=5,v2=0; if(a15

switch(i/10)

{ case 0: m++; n++; break; }

case 10: n++; break; default: k++; n++;

printf(“%d%d%d\\n”, m,n,k);

int z; z=x+y; return(z);

if(b!=15)

if(v1= =0) x=1; else

if(v2!=0) x=10; x=3;

printf(“%d”,x); } 6、以下程序的运行结果为( Fail! )。

main()

{ int score=2; switch(score)

{ case 3: printf(“Pass!”) ; case 2: printf(“Fail!”) ;break; default : printf(“data error!”) ;7、若运行以下程序时,则下面程序的运行结果是(4,10 )。#include

main() {int a,b;

for(a=1,b=1;a<=100;a++) { if(b>=10)break; if(b%3==1) {b+=3; continue; } b=b+5; }

printf(\"%d,%d\\n\} }

8、运行结果为( 741 ) 。

main()

{ int i, a[10];

 for(i=9;i>=0;i--) a[i]=10-i;

 printf(\"%d%d%d\

}

16

} }

9、运行结果为( mo )

#include main()

{ char a[]=“morning”,t;

int i,j=0; for(i=1;i<7;i++)

if(a[j]10、运行结果为(4,13)。

main( )

{ int a,b;

for(a=1,b=1;a<=100;a++) { if(b>=10) break;

if(b%4= =1) { b+=4; continue;} b=b-5;

}

printf(\"%d,%d\\n\; } 11、运行结果为 30 。 main( )

{ int a[3][3]={{1,2,9},{3,4,8},{5,6,7}},i,s=0;

for(i=0;i<3;i++)

s+=a[i][i]+a[i][2-i];

printf(\"%d\\n\;

}

12、运行结果为( c ) 。

main() { char a; a=’A’+2;

printf(“%c\\n” ,a) ;

17

}

13、运行结果为( 120 ) 。

sub(int x,int y) { int t; t=x+y; return t; } main()

{ int x1=100,x2=20,f; f=sub(x1,x2); printf(\"%d\\n\ }

14、运行结果为( 2,1 ) 。

main()

{ int x=1,a=0,b=0; switch(x)

{ case 0: b++; case 1: a++; case 2: a++;b++; break; } printf(“%d,%d\\n”,a,b) ; }

15、以下程序的运行结果为( 3 )。

main()

{ int a=2,b=-1,c=2; if(a>b)

if(b>0) c=0; else c++; printf(\"%d\\n\}

16、以下程序的运行结果为( 13,4 )。

main() {int x,y;

for(y=1,x=1;y<=50;y++) { if(x>=10)break; if (x%2==1) { x+=4; continue;}

18

x+=3; }

printf(“%d,%d”,x,y); }

17、运行结果为 30 。 sub(int x,int y) {

return x+y; } main( )

{ int x1=10,x2=20,t;

t=sub(x1,x2);

printf(\"%d\\n\;

}

18、运行结果为( 3 ) 。 main() {

int a=1,b=3,c=5,d=5; if(aif(cif(aif(b19、运行结果为( 200 ) 。

sub(int x,int y) { return x*y ; } main()

{ int x1=10,x2=20,t;

19

x=3; x=4; t=sub(x1,x2);

printf(\"%d \\n\20、以下程序的运行结果为( 15 )。 main()

{ int i,a[3][3]={ 1,2,3,4,5,6,7,8,9 },s=0; for(i=0;i<3;i++) s=s+a[i][2-i] ; printf(\"%d,\}

21、运行结果为( 12 ) 。

main()

{int a[3][3]={{1,2,9},{3,4,8},{5,6,7}},i,s=0; for(i=0;i<3;i++)s=s+a[i][i];

printf(\"%d\\n\; }

22、运行结果为( 10,20 ) 。

sub(int x,int y) { int t;

t=x; x=y; y=t; } main()

{ int x1=10,x2=20; sub(x1,x2);

printf(\"%d,%d\\n\23、运行结果为( 5,3,4 ) 。 main()

{ int a=4,b=3,c=5,t=0; if(aprintf(\"%d,%d,%d\\n\

五、编写下列程序

1、有一个数列前三项分别为 1,2,3,从第四项开始为前三项之和,如1,2,3,

6,11,20„„,求出这个数列前15项。

#include\"stdio.h\" main()

20

{

int i,f1=1,f2=2,f3=3;

printf(\"%6d%6d%6d\\n\for(i=1;i<=4;i++) {

f1=f1+f2+f3; f2=f2+f3+f1; f3=f3+f2+f1;

printf(\"%6d%6d%6d\\n\ } }

2、从键盘输入三个整数,求三个数中的最大值。

#include\"stdio.h\" main() {

int a,b,c,max;

printf(\"输入三个整数:\"); scanf(\"%d %d %d\if(a>b)max=a; else max=b;

if(max>c)printf(\"max=%d\\n\else printf(\"max=%d\\n\}

3、 有一函数: x (x<0)

y=

3x+2 (x≥0) 请编写一个程序,输入x,输出y值。

#include\"stdio.h\" main() { int x,y; printf(\"x=\"); scanf(\"%d\

if(x<0)printf(\"y=%d\\n\

21

else printf(\"y=%d\\n\}

4、试编程判断输入的正整数是否既是3又是5的整倍数。若是,则输出yes,否则输出no.。 #include\"stdio.h\" main() { int x,y;

printf(\"输入一个正整数:\"); scanf(\"%d\

if(x%3==0&&x%5==0)printf(\"yes\\n\"); else printf(\"no\\n\"); }

5、求100到1000之间的所有水仙花数。(水仙花数是各位数的立方之和等于该数本身)。 #include\"stdio.h\" main() {

int i,j,k; for(i=1;i<=9;i++) }

6、输出所有100—200之间能被3整除的数。 #include\"stdio.h\" main() { int i;

for(i=100;i<=200;i++)

22

for(j=0;j<=9;j++)

for(k=0;k<=9;k++)

if(i*i*i+j*j*j+k*k*k==i*100+j*10+k)

printf(\"%d \

}

if(i%3==0)

printf(\"%5d\\n\

7、请编写一个程序,利用循环语句实现打印下列图案。

* * * * * * * * * * * * * * * #include\"stdio.h\" main() { int i,j;

for(i=1;i<=5;i++) {

for(j=1;j<=i;j++) } }

8、求1+1/2+1/3+1/4+„..+1/100之和。

#include\"stdio.h\" main() {

float i,sum=0; for(i=2;i<=100;i++) }

23

printf(\"* \"); printf(\"\\n\");

sum+=1/i;

printf(\"%f\\n\

9、 有一函数:

x (x<1) y= 2x-1 (x>=1&&x<=10) 3x-11 (x>=10)

#include\"stdio.h\" main() { int x,y; printf(\"x=\"); scanf(\"%d\

if(x<1)printf(\"y=%d\\n\

else if(x>=1&&x<=10)printf(\"y=%d\\n\else printf(\"y=%d\\n\}

10、请编写一个程序,利用循环语句实现打印下列图案。 ***** **** *** ** *

#include\"stdio.h\" main() { int x,y; printf(\"x=\"); scanf(\"%d\

if(x<1)printf(\"y=%d\\n\

else if(x>=1&&x<=10)printf(\"y=%d\\n\else printf(\"y=%d\\n\}

24

因篇幅问题不能全部显示,请点此查看更多更全内容