文档库 最新最全的文档下载
当前位置:文档库 › C语言基础题

C语言基础题

C语言基础题
C语言基础题

第一单元C语言概述

一、选择题

1、C语言中主函数的个数为()个。

A)1 B)2

C)无穷个D)任意个

2、以下关于C语言描述错误的是()。

A)一个C程序总是从main函数开始执行

B)每个语句和数据声明的最后必须有一个分号

C)C语言的注释符是以“/*”开始并以“*/”结束的

D)一个C程序可以包含多个main函数

3、C 语言源程序文件后缀为()。

A).EXE B).OBJ C).C D).ASM

4、C语言是由()组成的。

A)子程序B)主程序与子程序C)函数D)过程

5、C语言属于()语言

A)机器语言B)汇编语言C)高级语言D)面向对象语言

第二单元C语言基础

一、选择题

1、C语言中普通整型变量int在内存中占()字节。

A)1 B)2 C)3 D)4

2、下列不是C语言基本数据类型的是()。

A)字符型B) 整型

C) 浮点型D) 结构体

3、有关自增、自减运算,以下只有()是正确的。

A) ---f B) ++78 C) a—b++ D) d++

4、已知A=7.5,B=2,C=3.6,表达式(A>B && C>A) || (AB)的值是

()。

A)0 B)10 C)1 D)5

5、若有x=1,y=2,z=3,则表达式(x

A)1 B)2 C)3 D)0

6、判断char型变量ch是否为大写字母的正确表达式是()。

A) ‘A’<=ch<=‘Z’B) (ch>=‘A’)&(ch<=‘Z’)

C) (ch>=‘A’)&&(ch<=‘Z’) D) (‘A’<= ch)AND(‘Z’>= ch)

7、判断整型变量digit是否为数字的正确表达式是()。

A) ‘0’<=ch<=‘9’B) (ch>=‘0’)&(ch<=‘9’)

C) (ch>=‘0’)&&(ch<=‘9’) D) (‘0’<= ch)AND(‘9’>= ch)

8、一个C程序的执行是从()。

A)本程序的main函数开始,到main函数结柬

B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

C)本程序的main函数开始,到本程序文件的最后一个函数结束

D)本程序文件的第一个函数开始,到本程序main函数结束

9、在以下标识符中,合法的是()

A)if B)0xy C)_xy D)case

10、C语言中各种类型的数据其实决定了占用内存的字节数。float占()。

A)一字节B)二字节C)四字节D)八字节

11、下列各选项中,()是有效的标识符。

A)ab B)3day C)day-3 D)#abc

12、以下叙述正确的是()。。

A) 在C程序中,每行只能写一条语句

B) 若a是实型变量,C程序中不允许a=10这种赋值。

C) 在C程序中,%是只能用于整数运算的运算符

D) 在C程序中,无论是整数还是实数,没有什么区别

13、有输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,则正确的数据输入方式是()。

A)132↙B)1,3,2↙

C)a=1 b=3 c=2↙D)a=1,b=3,c=2↙

14、设整型变量a为5,使b不为2的表达式是()。

A)b = a/2 B)b = 6-(--a) C)b=a%2 D)b=a>3?2:1

15、以下程序的输出结果是( )。

int x=10,y=10;

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

A)10 10 B)9 9 C)9 10 D)10 9

16、选出下列标识符中不是合法的标识符的是()。

A)hot_do B)cat1 C)_pri D)2ab

17、设有如下定义: int x=10,y=3,z;

则语句printf("%d\n",z = x%y); 的输出结果是()。

A)1 B)0 C)4 D)3

18、各种基本数据类型的存贮空间正确的长度排列为( )。

A)int < char

C)char

19、下面的变量说明中( )是正确的。

A)char:a, b, c;B)char a; b; c; C)char a, b, c; D)char a, b, c。

20、转义字符“反斜杠线”的表示方法正确的是( ) 。

A) \ B) \\ C )‘\’D)“\”

21、若x=5,y=3 则y*=x+5; y的值为( )。

A)10 B)20 C)15 D)30

22、能正确表示a和b同时为正或同时为负的逻辑表达式是( )。

A)(a>=0||b>=0)&&(a<0 ||b<0) B)(a>=0 && b>=0)&&(a<0 && b<0) C)(a+b>0) &&(a+b<=0) D)a*b>0

23、C语言中,合法的字符型常数是( )。

A)‘A’ B)“A”C)65 D)A

24、下列程序段的输出结果是( )。

char c1,c2;

c1=65;

c2=65+32+1;

printf(“%c,%c”,c1,c2);

A)a,B B)a,b C)A,b D)A,B

25、下列语句不具有赋值功能的是()

A)a*=b B)x=1 C)a+b D)a++

26、在C语言中,存储一个整型、字符型、双精度实型变量所需的字节( )。

A)2、1、8 B)4、1、4

C)4、1、4 D)2、2、8

27、下列程序段输出结果是( )。

int j=2 , i=1;

j /= i*j;

printf(“%d”,j);

A)0 B)1 C)2 D)3

28、不是C语言提供的合法关键字是( )。

A)switch B)char C)case D)this

29、在C语言中,要求参加运算的数必须时整数的运算符是( )。

A)/ B)* C)% D) =

30、若已定义x和y为double类型,且x=1;则表达式y=x+3/2的值是( )。

A)1 B)2 C)2.0 D)2.5

31、设a为整型变量,不能正确表达数学关系:10

A)10

C)a>10&&a<15 D)!(a<=10)&&!(a>=15)

32、表达式“10!=9”的值是( )。

A)true B)非零值C)0 D)1

33、设a,b为字符型变量,执行scanf(“a=%c,b=%c”,&a,&b)后使a为’A’,b为’B’,从键盘上的正确输入是( )。

A)’A’‘B’B)’A’,’B’C)A=A,B=B D)a=A,b=B

34、设有单精度变量f,其值为13.8。执行语句“n=( (int)f )%3;”后,n的值是( )。

.

A)4 B)1 C)4.333333 D)4.6

35、普通整形int能够处理的数据范围是( )

A)-32767~32767 B)-32768~32768

C)-32767~32768 D)-32768~32767

36、若定义x为double型变量,则能正确输入x值的语句是。

A)scanf(“%f”,x); B)scanf(“%f”,&x);

C)scanf(“%lf”,&x); D)scanf(“%5.1f”,&x)

37、执行x=(6*7%8+9)/5; 后,x的值为()

A)1 B)2 C)3 D)4

38、若有代数式3ae/bc,则不正确的c语言表达式是()

A)a/b/c*e*3 B)3*a*e/b/c C)3*a*e/b*c D)a*e/b/c*3

39、设有变量说明:float x = 4.0 , y = 4.0,下面使x为10.0的表达式是( ) A)x -= y*2.5 B)x /= y+9 C)x *= y-6 D)x += y+2

40、以下能正确定义整型变量z、b、c并为其赋初值5的语句是( )

A)int a=b=c=5; B)int a,c, c=5;

C)a=5,b=5,c=5; D)a=b=c=5;

41、C语言中双精度浮点型变量double在内存中占()字节。

A)1 B)2 C)4 D)8

42、以下哪个数学函数的作用是求某数的平方根()。

A)sqrt() B)fabs() C)pow() D)exp()

43、两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是()。int x;

scanf("%d",&x);

if(++x>5) printf("%d",x);

else printf("%d\n",x --);

A)7和5 B)6和3 C)7和4 D)6和4

44、执行语句"x=(a=3,b=a--)"后,x,a,b的值依次为()。

A)3, 3, 2 B)3,2,2 C)3,2,3 D)2,3,2

45、读出以下语句的输出结果是( )。

int x=10,y=10;

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

A)10 10 B)9 9 C)9 10 D)10 9

46、C语言中,合法的字符串型常数是( )。

A)‘A’B)"A" C)‘abcd’D)abcd

47、为表示关系x≥y≥z,应使用C语言表达式( )。

A)(x>=y)&&(y>=z) B)(x>=y) AND (y>=z)

C)(x>=y>=z) D)(x>=z)&(y>=z)

48、C语言的输入与输出操作是由( )完成的。

A)输入语句B)输出语句

C)输入与输出函数 D)输入与输出语句

49、设有int x=11 ;则表达式(x+1/3)的值是( )。

A)11.3 B)11.333333 C)11 D)12

50、若已定义x和y为double类型,则表达式x = 1,y = x+3/2的值是()

A)1 B)2 C)2.0 D)2.5

二、判断题

()1、“A”是一个字符常量。X

()2.、在程序运行过程中其值可以改变的量称为变量。V

()3、在C语言中,变量可以先使用再定义。X

()4、在C语言中,所有算术运算符的优先级都相同。X

()5、程序中若要使用数学函数就必须包含头文件”math.h”。V

()6、程序中若要使用printf()函数就必须引用头文件”stdio.h”。V

()7、在标准C中,“=”是判断两个数是否相等。X

()8、在标准C中,使用所有输入输出函数必须包含“stdio.h”文件。X ()9、在C语言中输出数据时可以指定数据的精度,即小数点后保留几位。V

( )10、C语言中的基本数据类型有字符型、整型和浮点型。V

( )11、所有的C语言程序都必须有一个名为main的主函数。V

( )12、/ 运算符要求运算数必须是整数。X

( )13、Int, #a15 , char都是合法的标识符。X

( )14、'b'和"b"是不同的两种常量。V

( )15、C语言本身没有输入输出语句,要实现输入输出必须调用相应的输入输出函数。V

第三单元算法

一、判断题

()1、算法简而言之就是基于某种计算机语言,利用数据结构来解决具体问题的思路和方法。V

()2、描述算法的图形化方法之一就是程序流程图。V

()3、描述算法可以用自然语言、传统流程图、N-S流程图来描述。V ()4、算法要有一定的逻辑性和健壮性。V

()5、算法的特点之一是无穷性。X

第四单元顺序结构

一、选择题

1、下列标识符中合法的标识符是()

A) int2 B) if C) 2two D) a#b

2、选出下列标识符中不是合法的标识符的是()

A) hot_do B) cat@113 C) INT D) _2ab

3.、以下选项中属于C语言的数据类型是()

A) 字符串型B) 双精度型C) 逻辑型D) 布尔型

4、设有如下定义: int x=10,y=3, z;

则语句printf("%d\n", z = x%y ); 的输出结果是()

A) 3 B) 0 C) 4 D) 1

5、设整型变量n的值为2,执行语句"n += n;"后,n的值是( )

A) 0 B) 4 C) - 4 D) 2

二、判断题

()1、结构化程序设计的三种结构是顺序结构、选择结构和循环结构。

V

()2、可以用printf("%d" ,123);语句输出一个十六进制整数。X

()3、可以用scanf("%x",&da);语句从键盘接收一个八进制整数给变量da。X

()4、语句scanf("%5.2f", &a); 是正确的。X

()5、如果a是一维字符数组名,则语句scanf("%s", &a); 是正确的。X

第五单元选择结构

一、选择题

1、有以下程序段

int a;

if (3&&2)

a=1;

else

a = 2;

执行后a=()。

A)1 B)2 C)3 D)0

2、表达式:10!=9的值是()。

A)true B)非零值 C)0 D)1

3、设int x=1,y=1;表达式(!x++ || y--)的值是_()。

A)0 B)1 C)2 D)-1

4、设整型变量s, c1,c2的值均为2,则执行语句(s=(c1= =c2))后,s的值为:()。

A)0 B)1 C)2 D)3

5、设整型变量a,b的值分别为1,0,那么a && b的结果是()。

A)0 B)1 C)2 D)都不对

6、设整型变量a,b的值分别为1,0,那么a || b的结果是()。

A)0 B)1 C)2 D)都不对

7、设整型变量a,b的值分别为1,0,那么a != b的结果是()。

8、设整型变量a,b的值分别为1,0,那么a || (b++)的结果是()。

A)0 B)1 C)2 D)都不对

9、设整型变量a,b的值分别为1,0,那么a && (++b)的结果是()。

A)0 B)1 C)2 D)都不对

10、设整型变量a,b的值分别为1,2,那么表达式a>b?a+b:a-b的结果是()。

A)1 B)2 C)3 D)-1

11、下边程序段

int a=2,b=3,c=4;

if(c=a+b)printf(“OK!”)

else printf(“NO!”);

输出结果是()。

A)OK!B)NO C)程序错误D)以上都不对

12、设整型变量a,b的值分别为1,0,那么a= =b 的结果是()。

A)0 B)1 C)2 D)都不对

13、设整型变量a,b的值分别为1,0,那么!(a = = b)的结果是()。

A)0 B)1 C)2 D)都不对

14、设整型变量a,b的值分别为1,2,那么!a && b的结果是()。

A)0 B)1 C)2 D)都不对

15、设x为非零,则下列描述错误的是()。

A)!(x = = 0) B)x != 0 C)3*x != 0 D)x>0

16、下列表达式的值中哪个表示为逻辑假()。

A)1 B)3 C)0 D)-1

17、设整型变量a,b的值分别为6,2,那么a%b != 0的结果是()。

A)0 B)1 C)2 D)3

18、下列属于分支结构的是()。

A)while B)switch C)for D)以上都不是

19、设整型变量a,b的值分别为1,0,那么a || (++b)的结果是()。

20、设整型变量a,b的值分别为1,0,那么a&&(b++)的结果是()。

A)0 B)1 C)2 D)都不对

二、判断题

()1、在分支结构switch中,case后面跟的一定是常量。V ()2、逻辑运算符优先级高于关系运算符的优先级。X

()3、关系运算符中,= = 的优先级要高于>= 的优先级。X ()4、关系运算符中,> 的优先级要高于>= 的优先级。X ()5、在条件表达式中,-3代表为真。V ()6、在条件表达式中,非0代表为真。V

()7、条件运算符?: 是2目运算符。X

()8、在switch语句中,有没有break的情况都是相同的。X ()9、判断a,b两个数是否相等,用 a = b。X ()10、判断a,b两个数是否相等,用 a = = b。V

第六单元for循环结构

一、选择题

1、对下边for循环,循环体体执行次数是()。

for ( i = 1; i <= 10; i = i + 2 )

;

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

2、对下边for循环,循环体执行次数是()。

for ( i = 5; i > 1; i -- )

;

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

3、下边循环执行完后,a为()。

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

a = 2 * a;

A)5 B)4 C)7 D)8

4、下边循环执行完后,s为()。

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

for ( b= s = 0; b< a; b++, s = s +a)

;

A)6 B)4 C)7 D)无答案

5、下边程序执行完后,a ,b的值是()。

for ( a= 1; a<= 10; a++ )

for ( b= 10;b>= 1; b-- )

if ( a>= b)) exit(0);

A)1,1 B)5,5 C)6,6 D)均不对

6、下边程序执行后s的值是()。

for ( s = i = 1; i < 100; i++ ) s = s + 1 / i;

A)0 B)2 C)1 D)难以确定

7、下边程序段输出结果是()。

int i , a= 0;

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

a++, i++;

printf("%d", a);

A)5 B)6 C)9 D)10

8、以下for循环的次数为()。

for(x = 0,y = 0; (y=123) && (x<4) ; x++)

;

A)不循环B)无限次C)3 D)4

9、从循环体内某一层跳出,继续执行循环外的语句是:()。A)break语句B)return语句C)continue语句D)空语句10、for(k=0;k<5;++k)

{

if(k= = 3) continue;

printf("%d",k);

}

的输出结果为()。

A)012 B)0124 C)01234 D)没有输出结果

11、循环语句for (x=0,y=0; (y!=123)|| (x<4);x++) ;的循环执行次数为()。

A)无限次B)不循环C)4次D)3次

12、设i,j,k均为int型变量,k初值为0,执行完下面的for循环后,k的值为()。

for (i=0,j=10; i<=j; i++,j--) k=i+j;

A)10 B)9 C)8 D)7

13、以下程序段的循环次数是()。

for (i=2 ; i=0 ; )

printf(“%d” , i--) ;

A)无限次B)0次C)1次D)2次

14、下边程序段循环执行的次数是()。

int a= 0, j = 10;

for ( ; j > 3; j-- )

{

a++;

if ( a> 3) break ;

}

A)3 B、4 C、5 D)6

15、for循环中,表达式1的作用是()。

A)循环变量赋初值B)循环条件

C)改变循环变量的值D)什么作用都没有

16、for循环中,表达式2的作用是()。

A)循环变量赋初值B)循环条件

C)改变循环变量的值D)什么作用都没有

17、for循环中,表达式3的作用是()。

A)循环变量赋初值B)循环条件

C)改变循环变量的值D)什么作用都没有

18、for循环中,能省略的表达式有()。

A)表达式1 B)表达式2 C)表达式3 D)3个都可以

19、下面程序中a++ 总共被执行多少次()。

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

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

a++;

A)3次B)2次C)6次D)9次

20、下面循环体被执行的次数是()。

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

A)0次B)1次C)2次D)3次

21、定义变量int i=-1; 则以下不是无限循环的是: ( )。

A. for (i=0; i=1; i++) ;

B. for ( i=0; ; i--) ;

C. for ( ; i>-10; i--) ;

D. for ( ; i<0 ; ) ;

22、定义变量int i=2; 则以下是无限循环的是: ( )。

A. for (i=0;i==1;i++) ;

B. for (i=0; i<0 ; ) --i;

C. for ( ; i>10; i++) ;

D. for ( ; i ; ++i ) ;

23、以下for循环语句,循环体的执行次数是: ( )。

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

A. 4

B. 5

C. 6

D. 7

24、以下for循环语句,循环体的执行次数是: ( )。

for( i=5; i>1; i-- ) ;

A. 4

B. 5

C. 3

D. 2

25、下面的循环体执行完后,a的值是: ( )。

for( a=2; a<8; a++) a*=2 ;

A. 10

B.9

C. 12

D. 11

二、判断题

()1、continue语句只能用于循环语句中。V

()2、在for循环中允许使用嵌套循环,但只能是嵌套while循环。X

()3、break语句只能用于循环语句中。X

()4、for循环可能一次都不执行。V

()5、break语句是结束本层循环。V

()6、break语句是结束本次循环。X

()7、continue语句是结束本层循环。X

()8、continue语句是结束本次循环。V

()9、在循环过程中,使用break语句和continue语句的作用是一样的。X

()10、for( ; ; )这写书写for循环是合法的,即for三个表达式都是可以省略的。V

三、程序阅读

1、以下程序运行完后的输出数据是:__aaaaaaaaa__

main()

{

int a=10 ;

for( ; a ; )

{

a--;

if(a==0) break;

printf("a");

}

}

2、以下程序运行完后a的值是: __1__

main()

{

int i, a=0 ;

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

i++; a++;

printf("%d", a);

}

3、以下程序运行完后a的值是: __5__ main()

{

int i, a=0 ;

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

a++, i++;

printf("%d", a);

}

4、以下程序运行完后的结果是:_#*#*_ main()

{

int k;

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

{

if(k%2!=0)

printf("#");

else

printf("*") ;

}

}

5、以下程序运行完后s的值是: _1.0__

main()

{

int n ;

float s=1.0;

for(n=10;n>1;n--)

s=s+1/n;

printf("%6.1f\n",s);

}

第七单元while与do-while循环

一、选择题

1、break语句的正确的用法是( )。

A)无论在任何情况下,都中断程序的执行,退出程序。

B)在多重循环中,只能退出最靠近的那一层循环语句。

C)跳出多重循环。

D)只能修改控制变量。

2、int i=0; while( i++ < 5); 循环结束后i的值是( )。

A)6 B)7 C)5 D)8

3、语句while ( E ); 括号中的表达式E等价于( )。

A)E==0 B)E!=1 C)E!=0 D)E==1

4、int i=1; while( --i ) ; 循环次数是( )。

A)无限次B)0 C)2 D)1

5、下述程序段的运行结果是。

int a=1,b=2, c=3, t;

while ( a

{t=a; a=b; b=t; c--;}

printf(“%d,%d,%d”,a,b,c);

A)1,2,0 B)2,1,0 C)程序错误D)2,1,1

6、程序运行的结果是( )。

main()

{

int x;

x=3;

do

{

printf("%d",x--);

}while(x);

}

A)0 B)无限循环C)3 D)2

7、do-while语句的循环体( )。

A)可能一次都不执行B)至少要执行一次

C)由循环条件决定循环次数D)B C均正确

8、对下面的while语句,循环体执行次数是()次。

a=30;

while ( a--) ;

A)30 B)31 C)39 D)都不对

9、在C语言中,下列说法中正确的是( )。

A)不能使用"do … while"的循环。

B)"do while"的循环必须使用break语句退出循环。

C)"do while"的循环中,当条件为0时将结束循环。

D)"do while"的循环中,当条件为非0时将结束循环。

10、下面的循环执行完后,循环次数是()次。

while( k=10 )

k--;

A)9 B)10 C)11 D)无穷次

二、判断题

()1、while 适合控制循环次数不确定的循环。(V)

()2、无论循环条件是否满足,do ... while循环的循环体至少执行一次。(V)

()3、while( 'a' ) ;是一个死循环。(V)

()4、在实际编程中,do-while循环完全可以用for循环替换。(V)()5、continue;语句和break;语句有同样的作用。(X)

第八单元数组

一、选择题

1、下列描述中不正确的是()。

A)字符型数组中可能存放字符串。

B)可以对字符型数组进行整体输入、输出。

C)字符串函数声明在包ctype.h中。

D)字符串的结束符是’\0’。

2、定义如下变量和数组: int i ; int x[6] ={1,2,3,4,5,6};

则语句for(i=0;i<3;i++) printf("%d ",x [5-i]); 的输出结果是()。A)1 2 3 B)1 3 5 C)2 4 6 D)6 5 4

3、以下对二维数组a进行正确初始化的是()。

A)int a[2][3]={{1,2},{3,4},{5,6}}; B)int a[ ][3]={1,2,3,4,5,6}; C)int a[2][ ]={1,2,3,4,5,6}; D)int a[2][ ]={{1,2},{3,4}};

4、下列程序的输出结果是()。

char a[]="abcd", b[]="ABCD", str[50]="xyz";

strcpy( str , strcat( a, b ) );

printf( "%s", str );

A)xyabcAB B)abcABz C)ABabcz D)abcdABCD

5、不能把字符串:Hello!赋给数组b的语句是()。

A)char b[10]={'H','e','l','l','o','!'}; B)char b[5] ="Hello!";

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

6、下列对数组定义不正确的语句是()。

A)int m[5]; B)char b[]={‘h’,’e’};

C)int a[10]={1,6,8,4}; D)char p[];

7、以下对二维数组a的正确定义是()

A)int a[3][] ; B)float a(3,4) ;

C)double a[2][4]; D)float a(3)(4) ;

8、给出以下定义:

char x[ ]="abcdefg";

char y[ ]={'a','b','c','d','e','f','g'};

以下正确的叙述是()。

A)数组x和数组y等价

B)数组x和数组y长度相等

C)数组x的长度大于数组y的长度,因为还存储了一个结束符

D)数组x的长度小于数组y的长度,因为还存储了一个结束符

9、在int b[ ][3]={{1},{3,2},{4,5,6},{0}};中b[2][2]的值是()。

A)0 B)5 C)6 D)2

10、下列初始化正确的是()。

A)char s1[ ]="abcd"; B)char s2[3]="zxy";

C)char * p=1000 ; D)char s4[2][3]={{"xyz"},{"mnp"}} ;

11、设有定义:char s[12]="string";则printf ("%d\n",strlen(s));的输出是()。

A)6 B)7 C)11 D)12

12、函数调用strcat(strcpy(str1,str2),str3)的功能是()。

A)将字符串str2复制到字符串str1中后再将字符串str3连接到字符串str1之后

B)将字符串str1复制到字符串str2中后再连接到字符串str3之后

C)将字符串str1复制到字符串str2中后再复制到字符串str3之后

D)将字符串str2连接到字符串str1中后再将字符串str1复制到字符串str3中

13、使用随机函数需要包含的头文件有()。

A)#include B)#include

C)#include D)A和B

14、若有说明int a[3][4]={0};下列叙述正确的是()。

A)只有元素a[0][0]可得到初值0

B)此说明语句不正确

C)数组a中各元素都可得到初值,但其值不一定为0

D)数组a中每个元素均可得到初值0

15、执行下面的程序段后,变量k的值为()。

int k=3,s[2];

s[0]=k;

k=s[0]*10;

A)不定值B)33 C)30 D)10

16、以下定义数组的语句中正确的是()。

A)int a(10)

B)char str[] ;

C)int n=5; int a[4][n];

D)#define N 10

char str[N];

17、定义如下变量和数组:

int k;

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

则下列语句的输出结果是()。

for(k=0;k<3;k++) printf(“%d”,a[k][k]);

A)7 5 3 B)9 5 1 C)9 6 3 D)7 4 1

18、下列描述正确的是()。

A)两个字符串所包含的字符个数相同时,才能比较字符串

B)字符个数多的字符串比字符个数少的字符串大

C)字符串“STOP”与“STOP ”相等

D)字符串“That”与字符串“ThaT”不相等

19、若二维数组a有n 行n列,则副对角线元素是()。(假设a[0][0]位于数组的第一个位置上,且i∈[0,n))

A)a[i][i]

B)a[i][n-i]

C)a[n-i][i]

D)a[i][n-1-i]

20、对以下说明语句的正确理解是()。

int a[10]={6,7,8,9,10};

A)将5个初值依次赋给a[1]至a[5]。

B)将5个初值依次赋给a[0]至a[4]。

C)将5个初值依次赋给a[6]至a[10]。

D)因为数组长度与初值的个数不相同,所以此语句不正确

C语言基础知识_测试题

C语言程序设计基础测试题 一、单选 [1] 下面叙述中错误的是____。 A. 复合语句中定义的函数只在该复合语句中有效 B. return( )语句中的括号中,可以是变量,常量或有确定值的表达式 C. 形式参数也是局部变量 D. 主函数中定义的变量在整个程序中都是有效的 [2]下列说法中正确的是____。 A.带参数的宏定义中的参数是没有类型的 B.宏展开将占用程序的运行时间 C.宏定义命令是C语言中的一种特殊语句 D.使用#include命令包含的头文件必须以“.h"为后缀 [3.] 若函数的形参为一维数组,则下列说法中正确的是____。 A.调用函数时的对应实参必为数组名 B.形参数组可以不指定大小 C.形参数组的元素个数必须等于实参数组的元素个数 D.形参数组的元素个数必须多于实参数组的元素个数 [4]. 系统的标准输出设备是____。 A.键盘 B.硬盘 C.内存 D.显示器 [5] 下面叙述中正确的是____。 A.全局变量在定义它的文件中的任何地方都是有效的 B.全局变量在程序的全部执行过程中一直占用内存单元 C. C语言的switch语句中case后可为常量或表达式或有确定值的变量及表达式 D. 说明函数时必须明确其参数类型和返回类型 [6]. C程序的基本结构单位是____。 A.文件 B.语句 C.函数 D.表达式 [7] 对于定义,char *aa[2]={"abcd","ABCD"},选项中说法正确的是____。 A.aa数组元素的值分别是"abcd"和"ABCD" B.aa是指针变量,它指向含有两个数组元素的字符型一维数组 C.aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址 D.aa数组的两个元素中各自存放了字符'a'和'A'的地址 [8]. 任何一个C语言的可执行程序都是从____开始执行的。 A.程序中的第一个函数 B.main( )函数的入口处

2019年电大C语言考试题库(c语言小题+编程)

C语言程序设计课程期末复习练习 一、单选题 1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为( )。 A. main B. MAIN C. name D. function 2.每个C语言程序文件的编译错误分为()类。 A. 1 B. 2 C. 3 D. 4 3. 字符串"a+b=12\n"的长度为()。 A. 6 B. 7 C. 8 D. 9 4. 在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写为()语句。 A. for B. if C. do D. while 5. 在下面的do-while循环语句中,其循环体语句被执行的次数为()。 int i=0; do i++; while(i<10); A. 4 B. 3 C. 5 D. 10 6. 将两个字符串连接起来组成一个字符串时,选用的函数为()。 A. strlen() B. strcap() C. strcat() D. strcmp() 7. 若用数组名作为函数调用的实参,传递给形参的是()。 A. 数组的首地址 B. 数组中第一个元素的值 C. 数组中全部元素的值 D. 数组元素的个数 8. 假定a为一个整数类型的数组名,整数类型的长度为4,则元素a[4]的地址比a数组的首地址大( )个字节。 A. 4 B. 8 C. 16 D. 32 9. 假定s被定义为指针类型char *的变量,初始指向的字符串为"Hello world!",若要使变量p指向s所指向的字符串,则p应定义为()。 A. char *p=s; B. char *p=&s; C. char *p;p=*s; D. char *p; p=&s; 10. 从一个数据文件中读入以换行符结束的一行字符串的函数为()。 A. gets() B. fgets() C. getc() D. fgetc() 11. 由C语言目标文件连接而成的可执行文件的缺省扩展名为( )。 A. cpp B. exe C. obj D. c 12. 设有两条语句为“int a=12; a+=a*a;”,则执行结束后,a的值为( )。 A. 12 B. 144 C. 156 D. 288 13. 带有随机函数调用的表达式rand()%20的值在( )区间内。 A. 1~19 B. 1~20 C. 0~19 D. 0~20 14. for循环语句“for(i=0; i

C语言基础编程题

5-1求幂之和(15分) 本题要求编写程序,计算sum=2^1+2^2+2^3+\cdots+2^n sum=21+22+23++2n。可以调用pow函数求幂。 输入格式: 输入在一行中给出正整数n n(\le≤10)。 输出格式: 按照格式“result=计算结果”输出。 输入样例: 输出样例: #include<> #include<> intmain() { inti,n,sum=0; scanf("%d",&n); for(i=1;i<=n;i++) { sum=sum+pow(2,i); } printf("result=%d\n",sum); return0; } 5-2近似求PI(15分) 本题要求编写程序,根据下式求\piπ的近似值,直到最后一项小于给定精度eps。

\frac{\pi}{2}=1+\frac{1!}{3}+\frac{2!}{3\times5}+\frac{3!}{3\times5\times7}+\ cdots+\frac{i!}{3\times5\times\cdots\times(2\timesi+1)}+\cdots2π=1+31!+3×52!+3×5×73!++3×5××(2×i+1)i!+ 输入格式: 输入在一行中给出精度eps,可以使用以下语句来读输入: 输出格式: 在一行内,按照以下格式输出\piπ的近似值(保留小数点后5位): 输入样例: 输出样例: #include<> #include<> intmain() { doublea=1,b=3,i=1,j=3; doubleeps,m=1,sum=0; scanf("%le",&eps); while(m>eps) { m=a/b; sum=sum+m; i=i+1; j=j+2; a=a*i; b=b*j; } printf("PI=%.5lf\n",2+2*sum);

C语言程序设计基础试题及答案

第一部分C语言基础 一、选择题 1、以下正确得C语言标识符就是() A。%X B。a+b?C.a123 D.test! 2、已定义int a,b;则以下不正确得C语句就是() A.a*=5;??B。b/=2;? C.a+=1、75;?D.b&&=a; 3、若x、i、j与k都就是整型变量,则执行下面表达式后x得值为( ) x=(i=4,j=16,k=32) A.4?B.16 ?C.32 D.52 4、C语言中得标识符只能由字母、数字与下划线三种字符组成,且第一个字符( ) A.必须就是字母???B.必须为下划线? C.必须为字母或下划线D.可以就是字母、数字、下划线中得任一字符 5、下面正确得字符常量就是( ) A.“c”? B。’\\”? C.‘w’??D.” 6、设int a=2,b=0,c;则执行语句c+=b&&a--后, c得结果为( )。 A.0,1B.1,0 ?C.2,0 D.不确定 7、以下不正确得C语言标识符就是()?A) int B)a_1_2?C)ab1exe D)_x 8、以下就是正确得C语言标识符就是( )。?A)#define?B)_123 C) %d D) \n 9、下列四组字符串中都可以用作C语言程序标识符得一组就是() 。?A) prin tB)i\am C)Pxq D)str_l ???oodbs tart$it line# _3d one_half My-〉bookCpp ? pow 10、下面各选项组中,均就是C语言关键字得组就是()。?A)auto,enu

m,include B)switch,typedef,continue?C)signed,union,scanf?D)if,s truct,type 11、下列不属于C语言关键字得就是( ) 。 A)default?B)register C)enum ?D)external 12、C语言程序从main()函数开始执行,所以这个函数要写在( )。?A) 程序文件得开始?B)程序文件得最后?C)它所调用得函数得前面 D) 程序文件得任何位置 13、下列关于C语言得叙述错误得就是( ) A)大写字母与小写字母得意义相同?B) 不同类型得变量可以在一个表达式中 C)在赋值表达式中等号(=)左边得变量与右边得值可以就是不同类型?D) 同一个运算符号在不同得场合可以有不同得含义 14、在C语言中,错误得int类型得常数就是( ) 。?A)32768?B)0 C)037?D) 0xAF 15、将字符g赋给字符变量c,正确得表达式就是( )。 A) c=\147 ?B)c="\147" ?C)c='\147' 16、下列转义字符中错误得一个就是( )。 A) ’\000’ B)'\0014' ?C) ’\x111’ D) ’\2’ 17、将空格符赋给字符变量c,正确得赋值语句就是( )。 A) c=’\0’ B) c=NULL C)c=0 D)c=32 18、已知:char a=’\70’;则变量a中()。 A)包含1个字符?B)包含2个字符?C) 包含3个字符?D) 说明非法 19、字符串"\”EOF\n=-\61\””得长度就是( )。 A)8 ?B) 9?C)14?D)非法字符串

大学c语言考试题库含答案

================================================== 题号:1482 执行以下程序段后,输出结果和a的值是()。int a=10; printf("%d",a++); A、11 和10 B、11 和11 C、10 和11 D、10 和10 答案: C 题号:2100 已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是 A、65,66 B、A,B C、65,68 D、A,68 答案: A 题号:5055 相同结构体类型的变量之间,可以()。 A、比较大小 B、地址相同 C、赋值 D、相加 答案: C 题号:3217 int a[10];合法的数组元素的最小下标值为()。 A、1 B、0 C、10 D、9 答案: B

能正确表示逻辑关系:" a≥10或a≤0 "的C语言表达式是 A、a>=0 | a<=10 B、a>=10 or a<=0 C、a>=10 && a<=0 D、a>=10 || a<=0 答案: D 题号:157 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",a,b); }该程序的输出结果是( ) A、2,2 B、2,1 C、1,1 D、1,0 答案: B 题号:4784 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的 数据类型为()。 A、不确定 B、double C、int D、float 答案: B 题号:1647 以下程序中,while循环的循环次数是______ main() { int i=0;

年C语言程序设计基础期末考试试卷‘B’及答案

年C语言程序设计基础期 末考试试卷‘B’及答案 The following text is amended on 12 November 2020.

一、单项选择题 1. 在C语言中,下面字符串能用作变量名的是( )。 A、a+b B、auto C、2-and D、a2 2. 若double x=2,y;则执行y=x+3/2;后,y的值是( )。 A、 B. C. D. 3 3. 下列关于C语言中字符常量与字符串常量的叙述中,错 误的是( )。 A、字符常量是用单撇号括起来的一个字符 B、空格字符也可用作字符常量 C、字符串常量是用单撇号括起来的一个字符序列 D、字符串常量是用双撇号括起来的一个字符序列 4. 若有以下变量说明和数据的输入方式,则正确的输入语 句为( )。

变量说明:float x1,x2; 数据的输入方式:<回车> <回车> A、scanf(“%f,%f”,&x1,&x2); B、scanf(“%f%f”,&x1,&x2); C、scanf(“%,%”,&x1,&x2); D、scanf(“%%”,&x1,&x2); 6. 在一个源文件中定义的全局变量的作用域为()。 A. 本文件的全部范围 B. 从定义该变量开始至本文件结束 C. 本函数的全部范围 D. 本程序的全部范围

7. 当调用函数时,实参是一个数组名,则向函数传送的是( )。 A、数组的长度 B、数组的首地址 C、数组每一个元素的地址 D、数组每个元素中的值 8.若j为整型变量,则下面while循环( )。 j=10; while(j!=0) j=j-1; A、执行0次 B、执行1次 C、执行10次 D、执行无限次 9. 在while(x)语句中的x与下面条件表达式等价的 是:( )。 A、x!=0 B、 x==1 C、x!=1 D、x==0 10. 以下对C语言函数的描述中,正确的是( )。 A、调用函数时,参数可以是表达式

C语言试题及答案

第1章 C语言概述习题 1. 单项选择题 (1) C 语言是在 B 语言的基础上产生的。 A. A B. B C. D D. E (2) 在 C 语言中,每个语句必须以 D 结束。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (3) 标识符和关键字间,要用 C 隔开。 A. 回车符 B. 冒号 C. 空格 D. 分号 (4) 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( B )。 A. 生成可执行目标文件 B. 生成目标文件 C. 输出运行结果 D.自动保存源文件 (5) 下列说法中正确的是( B )。 A. 由于 C 源程序是高级语言程序,因此一定要在 TC 软件中输入 B. 由 C 源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入 C. 由于C 程序是高级语言程序,因此输入后即可执行 D. 由于 C 程序是高级语言程序,因此它由命令组成 (6) 下列说法中正确的是( A )。 A. C 语言程序由主函数和 0 个或多个函数组成 B. C 语言程序由主程序和子程序组成 C. C 语言程序由子程序组成 D. C 语言程序由过程组成 (7) 下列说法中错误的是( D )。 A. 主函数可以分为两个部分:主函数说明部分和主函数体 B. 主函数可以调用任何非主函数的其他函数 C. 任何非主函数可以调用其他任何非主函数 D. 程序可以从任何非主函数开始执行 2. 填空题 (1) C 语言只有 32 个关键字和 9 种控制语句。 (2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。 (3) 每个源程序有且只有一个主函数,系统总是从该函数开始执行C语言程序。 (4) 在 C 语言程序中允许出现的字符集是 ASCII码字符集。 (5) C 语言的程序中有特殊含义的英语单词称为保留字。 (6) C 语言标识符的长度是前 8 位有效。 (7) C 语言中,标识符的定义规则是以字母或下划线为开头。 (8) C 语言程序的注释可以出现在程序中的任何地方,它总是以 /* 符号作为开始标记,以 */ 符号作为结束标记。 第2章数据类型运算符和表达式习题 1. 单项选择题 (1) 以下选项中,正确的 C 语言整型常量是 D 。 A. 32L B. 510000 C. -1.00 D. 567 (2) 以下选项中, D 是不正确的 C 语言字符型常量。

C语言习题集(基础篇)

《C语言程序设计》习题篇 第一章C语言基础知识 1.1 选择题 1. 以下不是C语言的特点的是()。 A、语言简洁紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件操作 D、C语言移植性好 2.下列字符序列中,不可用作C语言标识符的是()。 A.abc123 B.no.1 C._123_ D._ok 3.正确的C语言标识符是()。 A._buy_2 B.2_buy C.?_buy D.buy? 4. 请选出可用作C语言用户标识符的一组标识符()。 A.void B.a3_b3 C.For D.2a define _123 -abc DO WORD IF Case sizeof 5.下列符号中,不属于转义字符的是()。 A.\\ B.\0xAA C.\t D.\0 6.不属于C语言关键字的是()。 A.int B.break C.while D.character 7.是C语言提供的合法关键字的是()。 A.Float B.signed C.integer D.Char 8.以下不能定义为用户标示符的是()。 A.scanf B.V oid C._3com_ D.int 9.一个C程序是由()。 A.一个主程序和若干子程序组成 B.一个或多个函数组成 C.若干过程组成 D.若干子程序组成 10. C语言程序的基本单位是()。 A.程序行B.语句C.函数D.字符 11.下列说法中,错误的是()。 A.每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号B.每个函数都有一个函数头和一个函数体,主函数也不例外 C.主函数只能调用用户函数或系统函数,用户函数可以相互调用

(完整版)C语言考试题库之判断题(2)

三、判断题(10道小题,共10分) 1、C 语言具有简洁明了的特点。(1分) 正确 2、预处理命令的前面必须加一个“#”号。(1分) 正确 3、标准格式输入函数scanf()可以从键盘上接收不同数据类型的数据项。(1分) 正确 4、在if语句的三种形式中,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{}括起来组成一个复合语句。(1 分) 正确 5、continue 不是结束本次循环,而是终止整个循环的执行。(1分) 错误 6、在对数组全部元素赋初值时,不可以省略行数,但能省略列数(1分) 错误 7、.函数的实参传递到形参有两种方式值传递和地址传递(1分) 正确 8、直接访问就是直接利用变量的地址进行存取直接访问(1分) 正确 9、共用体变量可以作结构体的成员,结构体变量也可以作共用体的成员。(1分) 正确 10、文件指针和位置指针都是随着文件的读写操作在不断改变。(1分) 错误 11、C 语言标准格式输入函数scanf() 的参数表中要使用变量的地址值。(1分) 正确 12、浮点型常量的指数表示中,e 是可以省略的。(1分) 错误 13、任何表达式语句都是表达式加分号组成的。(1分) 正确 14、在switch语句中,每一个的case常量表达式的值可以相同。(1分) 错误 15、do-while循环的while后的分号可以省略。(1分) 错误 16、用字符串方式赋值比用字符逐个赋值要多占一个字节,用于存放字符串结束标志'\0'。正确 17、C语言函数返回类型的默认定义类型是void(1分) 错误 18、可以用一个指针变量指向一个函数,然后通过该指针变量调用此函数(1分) 正确 19、枚举类型中的元素都具有一个整型值。(1分) 正确 20、C 语言是一种具有某些低级语言特征的高级语言。(1分) 正确 21、case语句后如没有break,顺序向下执行。(1分)正确

C语言考试试题基础版

一、选择题 1. 在每个C 程序中都必须包含有这样一个函数,该函数的函数名为 。 A. main B. MAIN C. name D. function 2. 在以下关于C 语言的注释的叙述中,不正确的是 。 A .注释可用"/*"、"*/"形式表示,也可用"//"形式表示 B .编译器在编译一个程序时,将跳过注释,不对其进行处理 C .编译器在编译一个程序时,可发现注释中的单词拼写错误 D .程序中注释的多少不会影响所生成的可执行文件的长度 3. 以下叙述不正确的是 。 A .在C 程序中,严格区分大小写字母 B .一个C 源程序有且仅有一个main 函数 C .在C 程序中,注释只能位于一条语句的后面 D .一个C 程序总是从main 函数开始执行 4. 下列合法的标识符为 A. abde+ B. #KDJF C. 67KDJ D. DK3_ 5. 关于字符串和字符的关系正确的是 A. “A ”与’A ’是相同的 B. 字符串是常量,字符是变量 C. “A ”与’A ’是不同的 D. “A ”与“A ”是相同的 6. 下面关于语句的说法正确的是 A. 下面这两段程序的执行效果是一致的 B. 空语句是只有一个分号的语句,它其实什么也不干 C. 语句的构成不一定需要分号 D. 语句的书写对程序的运行不起作用,因此可以随便写都可以 7. 以下各标识符中,合法的用户标识符组为 。 A. PAd ,P#d ,b-b ,abc ,_0123,ssiped B. cin ,a10,CPP ,float ,del_word ,signed C. void ,max ,hiy ,,list ,*jer if (x>y) {z=x; s=z*z;} else {z=y;s=1/(z*z);} if (x>y) z=x; s=z*z; else z=y;s=1/(z*z);

C语言试题库(完整版)

C语言试题库 一、单项选择 第一章 C语言概述 (1)一个C程序的执行是从 A、本程序的MAIN函数开始,到MAIN 函数结束。 B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。 C、本程序的MAIN函数开始,到本程序的最后一个函数结束。 D、本程序文件的第一个函数开始,到本程序的MAIN函数结束。(2)以下叙述正确的是 A、在C程序中,MAIN函数必须位于程序的最前面。 B、 C程序的每行中只能写一条语句。 C、 C语言本身没有输入输出语句。 D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误。(3) C语言规定,在一个源程序中,MAIN主函数的位置是在: A、必须在最前面。 B、必须在系统调用的库函数的后面 C、可以在任意位置。

D、必须在最后面 (4)一个C程序是由: A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 (5)以下叙述不正确的是: A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个MAIN函数 C、 C程序的基本组成单位是函数 D、在C程序中,注释说明只能位于一条语句的后面 第二章数据类型、运算符与表达式 (1)若x, i, j, k都是int型变量,则计算下面表达式后,x的值为x=( i=4, j=16, k=32) A、4 B、16 C、32

D、52 (2)下列四组选项中,均不是C语言键字的选项是 A、define , IF, type B、getc, char, printf C、include, scanf, case E、 if, struct, type (3)下面四个选项中,均是不合法的用户标识符的选项是A、A,P_0,do B、float,1a0, _A C、b-a, goto, int D、_123, temp, INT (4)若有代数式3ae/bc,则正确的C语言表达式是A、a/b/c*e*3 B、3*a*e/bc C、3*a*e/b*c D、a*e/c/b*3 (5)已知各变量的类型说明如下:

大学C语言考试题库及答案

精选考试类应用文档,如果您需要使用本文档,请点击下载,另外祝您生活愉快,工作顺利,万事如意! 大学C语言考试题库及答案 姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题库吧。加油! 一单项选择题库 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’ ’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项D,标识字符。 3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行

B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是(B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是(C )。 A)%x B)a+b C)a123 D)123 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。

C语言编程基础考试试题

C语言编程基础考试试题 文档名称文档密级 C语言编程基础考试 [考前说明]本题目中不考虑头文件引用问题(假定已经包含正确的头文件),C 语言的标 准函数都可用;如果不特别说明, 假定程序运行环境为:操作系统Windows 2000, VC6.0编译环境,缺省为四字节对齐, X86(80586)CPU处理器(32位小字节序处理器). 一、单选题 1、给出以下定义: char acX[ ]= "abcdefg"; char acY[ ]= {'a','b','c','d','e','f','g'}; 则正确的叙述为( ) A) 数组acX和数组acY等价 B) 数组acX和数组acY的长度相同 C) 数组acX的长度大于数组acY的长度 D) 数组acX的长度小于数组Y的长度 2、 void example(char acHello[]) { printf("%d", sizeof(acHello)); return; } void main()

{ char acHello[] = "hello"; example(acHello); return; } 的输出是( ) A 4 B 5 C 6 D不确定 3、以下叙述中不正确的是( ) A) 在不同的函数中可以使用相同名字的变量 B) 函数中的形式参数是在栈中保存 C) 在一个函数内定义的变量只在本函数范围内有效 D) 在一个函数内的复合语句中定义的变量在本函数范围内有效(复合语句指函数 中的成对括号构成的代码) 4、设有如下定义: unsigned long pulArray[] = {6, 7, 8, 9, 10}; unsigned long *pulPtr; 则下列程序段的输出结果为( ) 1 文档名称文档密级 pulPtr = pulArray; *(pulPtr + 2) += 2; printf ("%d,%d\n", *pulPtr, *(pulPtr + 2)); A)8,10 B)6,8 C)7,9 D)6,10

C语言基本练习题

1. 某城市出租车收费标准如下:起步里程是3 公里,起步费是10 元;超出起步里程后每公里 1.5 元。编写程序,输入行驶里程(公里) ,计算并输出乘客应支付的车费(元)。 #include int main() { double n; scanf("%lf",&n); if(n<=3) { printf("%d\n",10); } else { printf("%.2f\n",1.0*(10+(n-3)*1.5)); } return 0; } 2. 某城市月用水量收费标准如下:每月使用吨数小于等于15 吨的,每吨收费2.5 元;每月使用吨数超过15 吨的,采用分段计费:超过部分每吨 3 元。编写程序,输入使用吨数,计算并输出用户水费(元) 。 #include int main() { double n,x; scanf("%lf",&n); if(n<=15) {x=n*2.5; } else { x=15*2.5+(n-15)*3.0; } printf("%.2f\n",x); return 0; } 3. 求解简单表达式。输入一个形式如:"操作数运算符操作数"的四则运算表达式,输出运算结果,要求使用switch 语句( if 语句)编写。#include #include int main() { double s1,s2; char op; scanf("%lf %c %lf",&s1,&op,&s2); switch(op) {case '+':printf("%.2f\n",s1+s2);break; case '-':printf("%.2f\n",s1-s2);break; case '*':printf("%.2f\n",s1*s2);break; case '/': if(fabs(s2)

c语言期末测试题(附答案)

课程代码:A100002座位号: 《计算机技术基础(C语言)》试卷A 姓名: 学号: 专业: 学院: 班级: 20 年月日 第一部分 选择题(共 30 分) 一、单项选择题(本大题共 15 小题,每题只有一个正确答案,答对一题得 2 分,共 30 分) 1、以下关于C语言标识符的描述中,正确的是【】。 A)标识符可以由汉字组成B)标识符只能以字母开头 C)关键字可以作为用户标识符D)Area与area是不同的标识符 2、使下列程序段输出“123,456,78”,键盘输入数据,正确的输入是【】。 int i,j,k; scanf(“%d,%3d%d”,&i,&j,&k); printf(“%d,%d,%d\n”,i,j,k); A)12345678 B)123,456,78 C)123,45678 D)123,*45678 3、判断char类型的变量c1是否为数字字符的正确表达式为【】。 A) (c1>=0)&&(c1<=9) B) (c1>=’0’)&&(c1<=’9’) C) ’0’<=c1<=’9’ D) (c1>=’0’)||(c1<=’9’) 4、若有语句int a=1,b=2,c=3;则以下值为0的表达式是【】。 A)’a’&&’b’ B)a<=b C)((a>b)||(b

A. *(a[0]+2) B. a[1][3] C . a[1][0] D. *(*(a+1)+2) 6、在循环语句的循环体中执行break语句,其作用是【】。A)跳出该循环体,提前结束循环 B)继续执行break语句之后的循环体各语句 C)结束本次循环,进行下次循环 D)终止程序运行 7、执行语句for(i=10;i>0;i--);后,变量i的值为【】。A)10 B)9 C)0 D)1 8、若有int *p1, *p2,k; 不正确的语句是【】 A. p1=&k B. p2=p1 C. *p1=k+12 D. k=p1+p2 9、在函数中未指定存储类别的局部变量,其隐含的存储类别是【】 A. 静态(static) B. 外部(extern) C. 自动(auto)D. 寄存器(register) 10、如下程序的输出结果是【】 main( ) { int x=2,a=0,b=0; switch(x) { case 2: a++; b++; case 1: ++a; b--; break; case 0: b++;} printf("a=%d, b=%d\n", a, b);} A. a=2, b=0 B. a=2, b=1 C. a=1, b=1 D. a=1, b=0 11、表示关系a main() {int x; scanf(“%d”,&x); if(x<=3) ; else if(x !=10)printf(“%d\n”,x); } 程序运行时,输入的值在哪个范围才会有输出结果。【】

C语言考试题库之判断题[1]_共5页

三、判断题(10道小题,共10分) 1、c语言具有简洁明了的特点。 正确 2、预处理命令的前面必须加一个“#”号。正确 3、标准格式输入函数seanf()可以从键盘上接收不同数据类型的数据项。 正确 4、在if语句的三种形式中,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{} 括起来组成一个复合语句。 正确 5、continue不是结束本次循环,而是终止整个循环的执行。 错误 6、在对数组全部元素赋初值时,不可以省略行数,但能省略列数 错误 7、.函数的实参传递到形参有两种方式值传递和地址传递 正确 8、直接访问就是直接利用变量的地址进行存取直接访问 正确 9、共用体变量可以作结构体的成员,结构体变量也可以作共用体的成员。 正确 10、文件指针和位置指针都是随着文件的读写操作在不断改变。 错误 11、C语言标准格式输入函数scanfO的参数表中要使用变量的地址值。 正确 12、浮点型常量的指数表示中,6是可以省略的。 错误 13、任何表达式语句都是表达式加分号组成的。 正确 14、在switch语句中,每一个的case常量表达式的值可以相同。 错误 15、do-while循环的while后的分号可以省略。 错误 16、用字符串方式赋值比用字符逐个赋值要多占一个字节,用于存放字符串结束标志'\0'。 正确 17、C语言函数返回类型的默认定义类型是void( 错误 18、可以用一个指针变量指向一个函数,然后通过该指针变量调用此函数正确 19、枚举类型中的元素都具有一个整型值。 正确 20、C语言是一种具有某些低级语言特征的高级语言。 正确 21、c ase语句后如没有break,顺序向下执行。正确 22、d o-while循环至少要执行一次循环语句。正确

国家二级C语言机试(C语言基础知识)模拟试卷8

国家二级C语言机试(C语言基础知识)模拟试卷8 (总分:60.00,做题时间:90分钟) 一、选择题(总题数:30,分数:60.00) 1.我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令。关于转换以下说法错误的是 (分数:2.00) A.一条C语句可能会被转换成多条机器指令 B.一条C语句对应转换成一条机器指令√ C.一条C语句可能会被转换成零条机器指令 D.某种类型和格式的C语句被转换成机器指令的条数是固定的 解析:解析:由C语言编写的程序,通过编译、链接转换成可以让机器识别的01二进制指令。这些二进制指令命令机器计算,这些就是机器指令,而C语言的语句条数和机器指令的条数不是一对一的关系。 2.以下选项中不属于C语言程序运算符的是 (分数:2.00) A.sizeof B.() C.<> √ D.&& 解析:解析:sizeof为测试内存的运算符,()为算术运算符,&&为逻辑运算符。而<>不是C语言的运算符,C语言中!=表示不等于。 3.若变量已正确定义并赋值,以下不能构成C语句的选项是 (分数:2.00) A.A=a+b: B.B++; C.a=a+b √ D.A?a:b; 解析:解析:C语言语句的表示为分号,不加分号的表达式不能看成C语句。 4.以下叙述中正确的是 (分数:2.00) A.程序必须包含所有三种基本结构才能成为一种算法 B.如果算法非常复杂,则需要使用三种基本结构之外的语句结构,才能准确表达 C.只有简单算法才能在有限的操作步骤之后结束 D.我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令√ 解析:解析:C语句构成了函数,函数构成的程序,经过编译转换成二进制代码后可以运行,算法是指为解决某个特定问题而采取的确定且有限的步骤,可以利用代码来捕述算法,而算法+数据结构才是程序,结构化的程序由顺序结构、循环结构和选择结构三种基本结构组成。由这三种基本结构组成的算法可以解决任何复杂的问题,反之则不一定,所有算法必须在有限步骤后结束。 5.下列选项中,不能用作标识符的是 (分数:2.00) A._1234 B._1_2 C.int_2_ D.2_int_ √ 解析:解析:C语言中标以符必须以字母或者下划线开始,选项D)中是以数字开始的不能作为标识符。6.以下选项中作为C语言合法常量的是 (分数:2.00) A.-80.√ B.-080

C语言基础题及参考答案

第一单元程序设计和C语言 一、选择题 1.C语言的基本构成单位是: A 。 A. 函数 B. 函数和过程 C. 超文本过程 D. 子程序 2.一个C语言程序总是从 B 开始执行。 A. 主过程 B. 主函数 C. 子程序 D.主程序 3.C语言的程序一行写不下时,可以 D 。 A. 用逗号换行 B. 用分号换行 C. 在任意一空格处换行 D. 用回车符换行 4.以下叙述不正确的是: C 。 A. 在C程序中,语句之间必须要用分号";"分隔 B. 若a是实型变量,C程序中a=10是正确的,因为实型变量中允许存放整型数 C. 在C程序中,无论是整数还是实数都能正确无误地表示 D. 在C程序中,%是只能用于整数运算的运算符 5.以下不正确的C语言标识符是 D 。 A. ABC B. abc C. a_bc D. ab.c 6.下列字符串是标识符的是:。 ? A. _HJ B. 9_student C. long D. LINE 1 7.以下说法中正确的是: C 。 A. C语言程序总是从第一个定义的函数开始执行 B. 在C语言程序中,要调用的函数必须放在main()函数中定义 C. C语言程序总是从main()函数开始执行 D. C语言程序中的main()函数必须放在程序的开始部分 8.不合法的常量是: B 。 A. ‘\2’ B. "" C. ‘3’ D. ‘\483’ 9.已知各变量的类型说明如下,则以下不符合C语言语法的表达式是:。 int k,a,b; unsigned long w=5; double x=1.422; A. x%(-3) B. W += -2 C. k=(a=2,b=3,a+b) D. a+=a=+(b=4)*(a=3) 10.在C语言中,字符型数据在内存中以 D 形式存放。 A. 原码 B. BCD码 C. 反码 D. ASCII码 11.若有定义:int a=7; float x=2.5; y=4.7; 则表达式x+a%3*(int)(x+y)%2/4的值是: A 。

c语言上机题库 (1)

1、给定n 个数据, 求最小值出现的位置(如果最小值 出现多次,求出第一次出现的位置即可)。 2、编写程序求无理数e 的值并输出。计算公式为: e=1+1/1!+1/2!+1/3!+......+1/n! 当1/n!<0.000001时e=2.718282。 3、求一批数中最大值和最小值的积。 4、某一正数的值保留2位小数,对第三位进行四舍 五入。 5、从键盘上输入任意实数x,求出其所对应的函数值。 z=(x-4)的二次幂(x>4) z=x 的八次幂(x>-4) z=z=4/(x*(x+1))(x>-10) z=|x|+20(其他) 6、求出N ×M 整型数组的最大元素及其所在的行坐标 及列坐标(如果最大元素不唯一,选择位置在最前面 的一个)。 例如:输入的数组为: 1 2 3 4 15 6 12 18 9 10 11 2 求出的最大数为18,行坐标为2,列坐标为1。 7、求一个n 位自然数的各位数字的积。(n 是小于10的 自然数) 8、计算n 门课程的平均值,计算结果作为函数值返回。 例如:若有5门课程的成绩是:92,76,69,58,88, 则函数的值为76.599998。 9、求一批数中小于平均值的数的个数。 10、编写函数判断一个整数m 的各位数字之和能否被7整除, 可以被7整除则返回1,否则返回0。调用该函数找出 100~200之间满足条件的所有数。

11、请编一个函数void fun(int tt[M][N],int pp[N]), tt指向一个M行N列的二维数组,求出二维数组每列 中最大元素,并依次放入pp所指一维数组中。二维 数组中的数已在主函数中赋予。 12、编写函数fun用比较法对主程序中用户输入的具有10 个数据的数组a按由大到小排序,并在主程序中输出 排序结果。 13、编写main程序调用函数fact求解从m个元素选n 个元 素的组合数的个数。计算公式是:组合数=m!/(n!.(m-n)!)。 要求:m不能小于n,否则应有容错处理。 说明:函数fact(x)的功能是求x!。 14、找出一批正整数中的最大的偶数。 15、实现两个整数的交换。 例如:给a和b分别输入:60和65,输入为: a=65 b=60 16、将字符串中的小写字母转换为对应的大写字母, 其它字符不变。 17、求一个四位数的各位数字的立方和。 18、求一组数中大于平均值的数的个数。 例如:给定的一组数为1,3,6,9,4,23,35,67,12,88时,函数值为3。 19、对任意输入的x,用下式计算并输出y 的值。 5 x<10 y= 0 x=10 -5 x>10 20、求给定正整数m以内的素数之和。 例如:当m=20时,函数值为77。 21、判断整数x是否是同构数。若是同构数,函数返回1; 否则返回0。x的值由主函数从键盘读入,要求不大

相关文档