当前位置:文档之家› C语言习题选2

C语言习题选2

C语言习题选2
C语言习题选2

第一章、 数组

一.选择题 1.若有语句int a[8];则下述对 a 的描述正确的是( A )。 (A )定义了一个名称为a 的一维整型数组,共有8个元素 (B )定义了一个数组a ,数组a 共有9个元素 (C )说明数组a 的第8个元素为整型变量 (D )以上可选答案都不对 2.在C 语言中,引用数组元素时,其数组下标的数据类型允许是( C )。 (A )整型常量 (B )整型表达式 (C )整型常量或整型表达式 (D )任何类型的表达式 3.下述对C 语言字符数组的描述正确的是( A )。 (A )任何一维数组的名称都是该数组存储单元的开始地址,且其每个元素按照顺序连续占用存储空间 (B )一维数组的元素在引用时其下标大小没有限制 (C )任何一个一维数组的元素,可以根据内存的情况按照其先后顺序以连续或非连续的方式占用存储空间 (D )一维数组的第一个元素是其下标为1的元素 4.下述对C 语言字符数组的描述中正确的是(B )。 (A )任何一个一维数组的元素在引用时,其下标可以是整型、实型或字符型常量 (B )一维数组的元素实质上就是一个变量,代表内存中的一个存储单元 (C )如果要引用数组中的每一个元素,则直接使用该数组名称即可? (D )以上都不对 5.以下对一维整型数组a 的正确说明是(D )。 (A )int a(10); (B)int n=10,a[n]; (C) int n; scanf(“%d ”,&n);int a[n]; (D) #define SIZE 10 int a[SIZE]; 6.以下能对一维数组a 进行正确初始化的语句是( C )B? (A )int a[10]=(0,0,0,0,0);(B )int a[10]={};(C )int a[]={0};(D )int a[10]=(10*1); 7.若有说明:int a[3][4];则对a 数组元素的正确引用是( C ) (A )a[2][4] (B )a[1,3] (C )a[1+1][0] (D )a(2)(1) 8.以下能对二维数组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}}; 9.若有说明:int a[3][4]={0};则下面正确的叙述是( D ) (A )只有元素a[0][0]可得到初值0(B )此说明语句不正确 (C )数组a 中各元素都可得到初值,但其值不一定为0 (D )数组a 中每个元素均可得到初值0 10.以下各组选项中,均能正确定义二维实型数组a 的选项是( C ) (A )float a[3][4]; float a[][4]; float a[3][]={{1},{0}}; (B )float a(3,4); float a[3][4]; float a[][]={{0};{0}}; (C )float a[3][4]; static float a[][4]={{0},{0}}; (D )float a[3][4]; float a[3][]; 11.若二维数组a 有m 列,则计算任一元素a[i][j]在数组中位置的公式为( D ) (假设a[0][0]位于数组的第一个位置上。) (A )i*m+j (B )j*m+i (C )i*m+j-1(D )i*m+j+1 12.对以下说明语句的正确理解是( B ) 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 )因为数组长度与初值的个数不相同,语句有错 13.若有说明:int a[][3]={1,2,3,4,5,6,7};则a 数组第一维的大小是(B ) (A )2 (B )3 (C )4 (D )不确定 14.定义如下变量和数组: int I; int x[3][3]={1,2,3,4,5,6,7,8,9}; 则下面语句的输出结果是( C ) for(I=0;I<3;I++) printf(“%d ”,x[I][2-I]); (A )1 5 9(B )1 4 7(C )3 5 7(D )3 6 9 15下面程序的运行结果是( C ) main()

{int a[6][6],I,j;

for(I=1;I<6;I++) for(j=1;j<6;j++)

a[I]][j]=(I/j) * (j/I) for(I=1;I<6;I++) {for(j=1;j<6;j++)

printf(“%2d ”,a[I][j]); printf(“\n ”);} }

(A )1 1 1 1 1 (B )0 0 0 0 1 (C )1 0 0 0 0 (D )1 0 0 0 1

1 1 1 1 1 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 1 1 1 1 1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 1 1 1 1 1 0 1 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 1 16.下面程序的运行结果是( C ) main() {int a[6]; for(I=1;I<6;I++) {a[I]=9*(I-2+4*(I>3))%5; printf(“%2d ”,a[I]);

}

}

(A)-4 0 4 0 4(B)-4 0 4 0 3(C)-4 0 4 4 3(D)-4 0 4 4 0

17.下列定义正确的是(A )

(A)static int a[]={1,2,3,4,5}(B)int b[2]={2,5,7}(C)int a(10)(D)int 4e[4]

18.若有说明:int a[][4]={0,0};则下列叙述不正确的是( D)

(A)数组a的每个元素都可得到初值0(B)二维数组a的第一维的大小为1

(C)因为对二维数组a的初值个数除以第二维的大小,商为0,所以数组a的行数为1

(D)只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值

19.设有char str[10],下列语句正确的是( D)(A)scanf(“%s”,&str);(B)printf(“%c”,str);(C)printf(“%s”,str[0]);(D)printf(“%s”,str);

20.以下语句定义正确的是( D)

(A)int a[1][4]={1,2,3,4,5};(B)float x[3][]={{1},{2},{3}};

(C)long b[2][3]={{1},{1,2},{1,2,3}};(D)double y[][3]={0};

21下列的说法正确的是( D)

(A)在C语言中,可以使用动态内存分配技术,定义元素个数可变的数组

(B)在C语言中,数组元素的个数可以不确定,允许随机变动

(C)在C语言中,数组元素的数据类型可以不一致(D)在C语言中,定义了一个数组后,就确定了它所容纳的具有相同数据类型元素的个数

22.假设array是一个有十个元素的整型数组,则下列写法中正确的是( A)

(A)array[0]=10(B)array=0(C)array[10]=0(D)array[-1]=0

23.若用数组名作为函数调用的实参,传递给形参的是(A )

(A)数组的首地址(B)数组的第一个元素的值

(C)数组中全部元素的值(D)数组元素的个数

24.若使用一维数组名作函数实参,则以下正确的说法是(C )

(A)在被调函数中,与该实参相对应的形参必须是指针型变量

(B)实参数组类型与形参类型可以不匹配

(C)在被调函数中,不需要考虑形参数组的大小(D)实参数组名与形参数组名必须一致

25.下述对C语言字符数组的描述错误的是(C)(A)字符数组可以存放字符串(B)字符数组中的字符串可以整体输入、输出

(C)可以在赋值语句中通过赋值运算符”=”对字符数组整体赋值

(D)不可以用关系运算符对字符数组中的字符串进行比较

26.设有char str1[10], str2[10],c1; 则下列语句正确的是(D)(不能用赋值语句将一个字符串常量或者字符数组赋给一个字符数组)

(A)str1 = {“china”}; str2 = str1;(B)c1=”ab”;

(C)str1 = {“china”}; str2 = {“people”}; strcpy(str1,str2);(D)c1=’a’;

27.以下能正确进行字符串赋值、赋初值的语句组是(A)

(A)char s[5] = {‘a’,’b’,’c’,’d’,’e’};(B)char *s; s=”abcde”;

(C)char s[5] = “abcde”;( D )char s[5]; s = “abcd”;

28.下列语句的执行结果是( C )

static char str[10] = “china”;

printf(“%d”,strlen(str));

(A)10 (B)6 (C)5 (D)0

29合法的数组定义是(A )

(A)int a[] = “language”;(B)int a[5]={0,1,2,3,4,5};

(C)char a=”string”;(D)char a[]={“0,1,2,3,4,5”};D选项应为

Char a[]={‘0’,’1’,’2’,’3’,’4’,’5’};

30.若有以下程序片段:

charstr[]="a b\n\012\\\"";printf(“%d”,strlen (str));

则输出结果是(C)(‘\012’代表八进制数,不是空值符’\0’)

(A)3 (B)4 (C)6 (D)12

31.库函数strcpy用以复制字符串。若有以下定义和语句:

char str1[] = “string”, str2[8], *str3, *str4=”string” ;

则对库函数strcpy的不正确调用是( C)

(A)strcpy(str1,”hello1”);(B)strcpy(str2,”hello2”);

(C)strcpy(str3,”hello3”);(D)strcpy(str4,”hello4”);

32.下面程序段的运行结果是( D)

char a[7] = “abcdef “;

char b[4] =”ABC”;

strcpy(a,b);

printf(“%c”,a[5]);

(A)为空格(B)\0(C)e(D)f

33.有下面的程序段D

char a[3],b[] = “China”;

a = b;

printf(“%s”, a);

(A)运行后将输出China(B)运行后将输出Ch(C)输出Chi(D)编译出错

二.填空题

1.数组名命名规则和变量名相同,遵循(标识符)命名规则。

2.对于一维数组的定义”类型说明符数组名[常量表达式]”其中常量表达式可以包括(常量)和(符号常量),不能包含(变量)。

3.对于数组a[m][n]来说,使用数组的某个元素时,行下标最大值是(m-1),列下标最大值是(n-1)。

4.在C语言中,将字符串作为(字符数组)处理。

5.在C语言中,数组的首地址是(?)。

6.main()

{int k,*p;

static int a[4]={1,2,3,4};

p = a;

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

printf(“%d,”, *p++);

}程序的运行结果是(1,2,3,)

7.程序

main()

{int k,*p;

static int a[4]={1,2,3,4};

p = a;

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

printf(“%d,”,*++p);

}则运行结果是(2,3,4,)

8.下面程序的功能是将字符串s中所有的字符c删除。

补足所缺语

#include

main()

{

char s[80];

int i , j;

gets(s);

for (i = j = 0; s[i] != ‘\0’;i++)

if(s[i] != ‘c’) ( s[j++]=s[i] ); s[j] = ‘\0’;

puts(s);

}

9.下面程序的功能是从键盘输入一行字符,统计其中有多少个单词,单词之间用空格分隔。补足所缺语句。 #include

main()

{char s[80], c1, c2 ; int i = 0, num = 0; gets(s);

while(s[i] != ‘\0’)

{ c1 = s[i];

if(i == 0 ) c2 = ‘‘;

else c2 = s[i–1];

if ( c1!=' '&&c2 ==' ') num ++ ; i++;

}

printf(“There are %d words.\n”,num); }(两个单引号‘’之间有空格)

第二章、函数

一.选择题

1. 关于建立函数的目的以下说法正确的是____B______。

(A) 提高程序的执行效率

(B) 提高程序的可读性

(C) 减少程序的篇幅

(D) 减少程序文件所占内存

2. 以下说法正确的是____D______。

(A) 用户若需调用标准库函数,调用前必须重新定义

(B) 用户可以重新定义标准库函数,若如此,该函数将失去原有含义

(C) 系统根本不允许用户重新定义标准库函数

(D) 用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文

件包括到用户源文件中,系统自动去调用.

3. 以下函数形式正确的是___D_______。

(A) double fun(int x,int y)

{ int z=x+y;return z; }

(B) fun(int x,y)

{ int z;

return z; }

(C) fun(x,y)

{ int x,y; double z;

z=x+y; return z; }

(D) double fun(int x,int y);

{ double z;

z=x+y;return z; }

4. 关于C语言以下说法正确的是____B______。

(A) 实参和与其对应的形参各占用独立的存储单元

(B) 实参和与其对应的形参共占用一个存储单元

(C) 只有当实参和与其对应的形参同名时才共占用存储单元

(D) 形参是虚拟的,不占用存储单元

5. 若调用一个函数,且此函数中没有return语句,则正确的说法是该函数______D____。

(A) 没有返回值

(B) 返回若干个系统默认值

(C) 能返回一个用户所希望的函数值

(D) 有返回值,但返回一个不确定的值

6. 按照C语言的规定以下说法不正确的是____D______。

(A) 形参可以是常量、变量或表达式

(B) 实参可以为任意类型

(C) 实参可以是常量、变量或表达式,在传递给形参时,要求实参必须有确定的值

(D) 形参与其对应的实参类型要求可以不一致7. 以下说法正确的是____C______。

(A) 定义函数时,形参的类型说明可以放在函数体内,也可以放在函数体外

(B) return后边的值不能为表达式

(C) 如果函数值的类型与返回值类型不一致,以函数值类型为准

(D) 如果形参与实参的类型不一致,以实参类型为准

8. C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是___B_______。

(A) 地址传递

(B) 单向值传递

(C) 由实参传给形参,再由形参传回给实参

(D) 由用户指定传递方式

9. C语言允许函数值类型缺省定义,此时该函数值隐含的类型是____B___。

(A) float型

(B) int型

(C) long型

(D) double型

10. C语言规定,函数返回值的类型是由____D______。

(A) return语句中的表达式类型所决定

(B) 调用该函数时的主调函数类型所决定

(C) 调用该函数时系统临时决定

(D) 在定义该函数时所指定的函数类型决定

11. 下面函数调用语句含有实参的个数为____B______。

func((a,b,c,d),(e,f,g));

(A) 1

(B) 2

(C) 4

(D) 以上都不对

12. 以下描述正确的是____A______。

(A) 函数调用可以出现在执行语句或表达式中

(B) 函数调用不能做为一个函数的实参

(C) 函数调用可以做为一个函数的形参

(D) 以上都不正确

13. 在C语言程序中,以下描述正确的是____B______。

(A) 函数的定义可以嵌套,但函数的调用不可以嵌套

(B) 函数的定义不可以嵌套,但函数的调用可以嵌套

(C) 函数的定义和函数的调用均不可以嵌套

(D) 函数的定义和函数的调用均可以嵌套

14. 如果在一个函数的复合语句中定义了一个变量,则该变量___A______。

(A) 只在该复合语句中有效,在该复合语句外无效

(B) 在该函数中任何位置都有效

(C) 在本程序的原文件范围内均有效

(D) 此定义方法错误,其变量为非法变量

15. 以下程序的正确运行结果是____D______。

#define MAX 10

int a[MAX],i;

main( )

{ printf("\n");sub1();sub3(a);sub2();sub3(a); }

sub2()

{ int a[MAX],i,max;

max=5;

for(i=0;i<max;i++) a[i]=i;

}

sub1()

{ for(i=0;i<MAX;i++) a[i]=i+i;

}

sub3(int a[])

{ int i;

for(i=0;i<MAX;i++) printf("%d",a[i]); printf("\n");

}

}

(A) 0 2 4 6 8 10 12 14 16 18

0 1 2 3 4

(B) 0 1 2 3 4

0 2 4 6 8 10 12 14 16 18

(C) 0 1 2 3 4 5 6 7 8 9

0 1 2 3 4

(D) 0 2 4 6 8 10 12 14 16 18

0 2 4 6 8 10 12 14 16 18

16. 以下程序的输出结果是__A________。

main( )

{

int k=4,m=1,p;

p=func(k,m);

printf("%d,",p);

p=func(k,m);

printf("%d",p);

}

func(int a,int b)

{

static int m,k=2;

k+=m+1;

m=k+a+b;

return(m);

}

(A) 8,17

(B) 8,16

(C) 8,20

(D) 8,8

17. 以下程序的输出结果是____B______。

main()

{ int i=1, j=3;

printf("%d,",i++);

{ int i=0; i+=j*2;

printf("%d,%d,",i,j); }

printf("%d,%d\n",i,j); }

(A) 1,6,3,1,3

(B) 1,6,3,2,3

(C) 1,6,3,6,3

(D) 1,7,3,2,3

18. 以下程序的输出结果是____B______。

main()

{ int a[]={1,2,3,4},i,x=0;

for(i=0; i<4; i++) { sub(a,&x); printf("%d",x); } printf("\n");

}

sub(int*s, int *y)

{ static int t=3;

*y=s[t]; t--;

}

(A) 1234

(B) 4321

(C) 0000

(D) 444412.

19. 以下程序的输出结果是___C_______。

void fun(int *s)

{ static int j=0;

do

s[j]+=s[j+1];

while(++j<2);

}

main( )

{ int k,a[10]={1,2,3,4,5};

for(k=1; k<3; k++) fun(a);

for(k=0; k<5; k++) printf("%d",a[k]); }

(A) 34756

(B) 23445

(C) 35745

(D) 12345

20. 以下程序的输出结果是___D_______。

f(int a)

{ int b=0;

static int c=3;

a=c++,b++;

return(a);

}

main( )

{ int a=2,i,k;

for(i=0; i<2; i++) k=f(a++);

printf("%d\n",k);

}

(A) 3

(B) 6

(C) 5

(D) 4

21. 以下程序的输出结果是___B_______。

int m=13;

int fun2(int x,int y)

{ int m=3;

return(x*y-m);

}

main( )

{ int a=7,b=5;

printf("%d\n",fun2(a,b)/m);

}

(A) 1

(B) 2

(C) 7

(D) 10

22. C语言中,形参缺省的存储类说明是____A______。

(A) auto()

(B) static(静态)

(C) register(寄存器)

(D) extern(外部)

23. 以下叙述中不正确的是______C____。

(A) 一个变量的作用域完全取决于变量定义语句的位置

(B) 全局变量可以在函数以外的任何部位进行定义

(C) 局部变量的"生存期"只限于本次函数调用,因此不可能将局部变量的

运算结果保存至下一次调用

(D) 一个变量说明为static存储类是为了限制其他编译单位的引用

二.填空题

1. 以下程序的输出结果是_2,5,1,2,3,-2_________。

main( )

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

c-=++b; b*=a+c;

{ int b=5,c=12;

c/=b*2; a-=c;

printf("%d,%d,%d,",a,b,c);

a+=--c;

}

printf("%d,%d,%d\n",a,b,c);

}

2. 以下程序的输出结果是_2468_________。

void fun( )

{ static int a;

a+=2;

printf("%d",a); }

main( )

{ int cc;

for(cc=1; cc<=4; cc++) fun();

printf("\n");

}

3. 以下程序的输出结果是funct result is:12_____。

unsigned funct(unsigned num)

{ unsigned int k=1;

do { k*=num%10; num/=10; }

while(num);

return k;

}

main()

{ unsigned int n=26;

printf("funct result is:%d\n",funct(n)); }

4.以下程序的输出结果是funct result is:_***9.0_________。(*代表空格)

double sub(double x,double y,double z)

{ y-=1.0; z=z+x; return z; }

main()

{ double a=2.5,b=9.0;

printf("function running result is:%6.1f\n",sub(b-a,a,a));

}

5. 下面pi函数的功能是,根据以下公式返回满足精度ε要求的π的值。

根据以下算法要求补足所缺语句。

π

/2=1+1/3+1/3·2/5+1/3·2/5·3/7+1/3·2/5·3/7·4/9+… double pi(double eps)

{ double s=0.0,t=1.0;

int n;

for(___n=1_______; t>eps; n++)

{ s+=t; t=n*t/(2*n+1); }

return (2.0* __s________);

}

C语言选择题题库

C语言程序设计题库说明 一本题库适用对象 计算机应用技术计算机软件软件技术计算机网络技术与计算机控制技术等专业 二本题库包含有175道选择题 三本题库所有题目均附有答案

一、选择题 下列各题ABCD四个选项中,只有一个选项是正确的,请将正确选项涂在答题卡的相应位置上,答在试卷上不得分。 1、不合法的整数是()。 A)0x35 B)43.6 C)0532 D)-346 2、下列合法的字符常量是()。 A)“f” B)x C)65 D)‘\Xab’ 3、设有整型变量x,单精度变量y=,表达式x=float(y*3+((int)y%4))执行后,x的值为()。 A)17 B)17.500000 C) D) 4、在C语言中,负整数在内存中以()形式释放。 A)补码 B)BCD码 C)反码 D)十进制数 5、在C语言中,要求参加运算的数必须是整数的运算符是()。 A)/ B)!C)% D)= = 6、()是C语言中非法的数据类型关键字。 A)float B)singed C)integer D)Char

7、现已定义整形变量int i=1;执行循环语句while(i++<5);后i的值为()。 A)1 B)5 C)6 D)以上三个答案都不正确 8、下列语句的输出结果是()。 printf(“%f\n”,(float)(2+4)/2); A)有语法错误不能通过编译 B)3 C)D) 9、C语言中,整数-8在内存中的存储形式是()。 A)1111,1111,1111,1000 B)1000,0000,0000,1000 C)0000,0000,0000,1000 D)1111,1111,1111,0111 10、设C语言中,int类型数据占2个字节,则long类型数据占()个字节。 A)1 B)2 C)8 D)4 11、若变量a已说明为float类型,则能实现将a中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是()。 A)a=(a*100+/ B)a=(a*100+/100 C)a=(int)(a*100+/ D)a=(a/100+*

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_b3C.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

B .一组机器语言指令 C .将C 源程序编译成目标程序 D .由制造厂家提供的一套应用软件 14.以下选项中,合法的用户标识符是( )。 A .long B ._2abc C .3dmax D .A.dat 15.以下选项中,合法的实型常数是( )。 A .5E2.0 B .E-3 C .2E0 D .1.3E 16.已知大写字母A 的ASCII 码值是65, 小写字母a 的ASCII 码是97,则用八进制表示的字符常量’\101’是( )。 A .字符A B .字符a C .字符c D .非法的 常量 17.以下选项中, 合法转义字符的选项是( )。 A .’\\’ B .’\018’ C .’xab ’ D .’\abc ’ 18.以下选项中,正确的字符常量是( )。 A .”F ” B .’\\’’ C .’W ’ D .’’ 19.以下选项中可作为C 语言合法整数的是 A .10110 B B .0386 C .0Xffa D .x2a2 20.下列变量定义中合法的是 A .short _a=1-.le-1; B .double b=1+5e2.5; C .long do=0xfdaL; D .float 2_and=1-e-3; 21.与数学式子1 29 x x n 对应的C 语言表达式是( )。 A .9*x^n/(2*x-1) B .9*x**n/(2*x-1) C .9*pow(x,n)*(1/(2*x-1)) D .9*pow(n,x)/(2*x-1) 22.若有代数式cd ab 3,则不正确的C 语言表达式是( )。

C语言题库_选择题(1)

本卷共有4道大 一、单项选择题(25道小题,共50分) 1、以下说法中正确的是(C)(2分) A、C语言程序总是从第一个的函数开始执行 B、在C语言程序中,要调用的函数必须在main()函数中定义 C、C语言程序总是从main()函数开始执行 D、C语言程序中的main()函数必须放在程序的开始部分 2、一个算法应该具有“确定性”等五个特性,下面对另外4个特性的描述中错误的是(B)(2分) A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 3、以下选项中,不合法常量的是(B)(2分) A、1.234e04 B、1.234e0.4 C、1.234e+4 D、1.234e0 4、C语言中最简单的数据类型包括(B)(2分) A、整型、实型、逻辑型 B、整型、实型、字符型 C、整型、字符型、逻辑型 D、整型、实型、逻辑型、字符型 5、能正确表示逻辑关系:“10≥=a≥=0”的C语言表达式是(D)(2分) A、10>=a>=0 B、a>=0 and a<=10 C、a>=0||a<=10 D、a>=0&&a<=10 6、设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是(D)(2分)A、6.500000B、6 C、5.500000 D、6.000000

7、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是(B)(2分) A、INPUT x、y、z; B、scanf("%d%d%d",&x,&y,&z); C、scanf("%d%d%d",x,y,z); D、read("%d%d%d",&x,&y,&z); 8、设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是(D)(2分)A、把x和y按从大到小排列B、把x和y按从小到大排列 C、无确定结果 D、交换x和y中的值 9、若有以下程序段:int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是(A)(2分)A、0B、0.5 C、1 D、2 10、设char ch='A';则ch=(ch>='A'&&ch<='Z')?(ch+32):ch的值是(B)。(2分) A、A B、a C、Z D、z 11、执行程序段int a=-1,b=4,k;k=(++a<0)&&!(b-- <=0);printf(“%d %d %d\n”,k,a,b);后的输出结果是(D )。 (2分) A、1 0 4 B、1 0 3 C、0 0 3 D、0 0 4 12、设intx=1, y=1;表达式(!x||y--)的值是(B)。(2分) A、0B、1 C、2 D、-1 13、程序段intx=3;do{printf(“%d”,x-=2);}while(!(--x));的输出结果是(C)。(2分) A、1 B、30 C、1-2 D、死循环

C语言练习题(带答案)-绝对经典题目不看后悔

1单选题 1.(A)是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从C开始执行。 A) 程序中第一条可执行语句B) 程序中第一个函数 C) 程序中的main函数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 5~8题为相同类型题 考点:标识符的命名规则 (1)只能由字母、数字、下划线构成 (2)数字不能作为标识符的开头 (3)关键字不能作为标识符 选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3) 6.下列C语言用户标识符中合法的是(B)。 A)3ax B)x C)case D)-e2 E)union 选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1); 7.下列四组选项中,正确的C语言标识符是(C)。 A)%x B)a+b C)a123 D)123 选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2) 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 选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while为关键

C语言程序设计期末考试选择题题库

第一章1、一个C程序可能出现的错误有(A)A,以上都包括 B,逻辑错误 C,运行错误 D,语法错误 2、C程序中一般可以包含几个函数(D) A.1个 B.多个 C.0个 D.至少一个 3.C语言属于程序设计语言的哪个类别(B) A.机器语言 B.高级语言 C.面向对象语言 D.汇编语言 4.以下关于C语言描述错误的是(B) A.一个C程序总是从main函数开始执行 B.一个C程序可以包含多个main函数 C.每个语句的最后必须有一个分号 D.C语言的注释符是以"/*"开始并以"*/"结束

5、在调试过程中,逻辑错误是指(C) A.所书写的语句,不符合C的语法。 B.在从obj生成exe文件的过程中,如果函数名书写错误,可能产生的错误。 C.程序的运行结果不符合题目要求。 D.在exe文件的执行过程中,产生运行异常。 第二章 1、16位的二进制数可以表示的整数的范围是(C) A.[-32768,32768] B.[-32767,32768] C.[-32768,32767] D.[-32767,32767] 2、C语言中的实型数据包括(A) A.float和double B.int和float C.float和char D.int和double 3、以下不合法的字符常量是(C) A.'2' B.'A' C.'ab'

4、在以下各组标识符中,均是合法的C语言标识符是(A) A.abc,A_4d,_student,xyz_abc B.auto,12-a,a_b,ab5.x C.A_4d,_student,xyz_abc,if D.abc,a_b,union,scan 5、若有定义:chara;intb;floatc;doubled; 则表达式a*b+d-c值的类型为(A) A.char B.float C.double D.int 6、类型修饰符unsigned不能修饰(D) A.char B.longint C.int D.float 7、若有定义:doublex=1,y; 执行语句,则y的值是(B) A,1 B,2.0

C语言习题及解答-2-1

C语言概述 一.选择题 1.下列选项中,合法的C语言关键字是 A) VAR B) cher C) integer D) default 2.请选出可用作C语言用户标识符的一组标识符____ A) Void define WORD B) a3_b3 _123 IF C) For -abc Case D) 2a Do sizeof 3.C语言提供的合法的数据类型关键字是____ A) Double B) short C) integer D) Char 4.在下列字符中,不可用作C语言标识符的是 A) water B) price C) a>b D) a12 5.一下叙述正确的是 A) C语言比其他高级高级 B) C语言可以不用编译就能被计算机识别执行 C) C语言以接近英语国家的自然语言和数学语言作为语言的表达形式 D) C语言出现的最晚、具有其他语言的一切优点 6.在一个C语言程序中 A) main函数必须出现在所有函数之前 B) main函数可以在任何地方出现 C) main函数必须出现在所有函数之后 D) main函数必须出现在固定位置 7.下列符号不属于C语言保留字的是 A) if B) then C) static D) for 8.下列说法正确的是 A) 主函数名main是由程序设计人员按照“标识符”的命名规则来选取的 B) 分号和回车符都可以作为语句的结束符号 C) 在程序清单的任何地方都可以插入一个或多个空格符号 D) 程序的执行总是从主函数main()开始的 参考答案 1.D 2.B 3.B 4.C 5.C 6.B 7.B 8.D 数据类型与表达式 一.选择题 1. 下列字符序列中,不可用作C语言标识符的是()。 A)abc123 B)no.1 C)_123_ D)_ok 2. 正确的C语言标识符是()。 A)_buy_2 B)2_buy C)?_buy D)buy?

C语言试题与答案

大学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 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系

c语言练习题 2

1停车场收费问题 一个停车场的标准收费是3小时之内收5元,超过3小时,每增加1小时加收2元;如果时间不是整数,按比例收取,例如:如果输入为3.6小时,则费用为5 + (3.6-3)*2 = 6.2 元。最高收费为40元。假设任何车辆的停车时间都不超过24小时。编写程序,计算每辆车的停车费。(注意输出结果小数点后保留两位) 输入 #include int main() { double m,x; printf("输入停车时间x:"); scanf("%lf",&x); if(x<=24) { if(x<3.0) {m=5.0; printf("%lf\n",m);} else if(x>3.0) { m=5.0+2.0*(x-3.0); if(m<=40) printf("%lf\n",m);} } else printf("输出停车费用40元\n"); return 0; 2.#include int main() { double x,m; printf("输入停车时间(x):"); scanf("%lf",&x); if(x<=24) { if(x<=3.0) printf("停车费用5元\n"); if(x>3) m=5.0+2.0*(x-3.0);

if(m<=40) printf("%6.2f\n",m);} else printf("停车费用40元\n"); } } 2 计算细菌数量 一种细菌的繁殖速度是每天成倍增长。例如:第一天有10个,第二天就 变成20个,第三天变成40个,第四天变成80个,……。现在给出第一 天的日期和细菌数目,要你写程序求出到某一天的时候,细菌的数目。 3 计算邮资计算邮资: 用户输入:邮件的重量,以及是否加快 计算规则:重量在1克以内(包括1克), 基本费0.8元。超过1克的部分,按照0.5元/克的比例加收超重费。 如果用户选择加快,多收2元。#include using namespace std; int main() {double x,sum; char exp; while(cin>>x>>exp) { if(x<=1&&exp=='n') sum=0.8; if(x<=1&&exp=='y') sum=2.8; if(x>1&&exp=='n') sum=0.8+(x-1)*0.5; if(x>1&&exp=='y') sum=0.8+(x-1)*0.5+2; cout< using namespace std; int main()

C语言单项选择题

单项选择题(本大题共20小题,每小题1分,共20分) 1.C++源程序文件扩展名为(A) A..cpp B..h C..1ib D..obj 5.对使用关键字new所开辟的动态存储空间,释放时必须使用(C)A.free B.create C.delete D.realse 6.从本质上看,引用是被引用变量的(B) A.拷贝 B.别名 C.复制 D.克隆 7.在函数调用时,如某一默认参数要指明一个特定值,则有(B) A.其之前所有参数都必须赋值B.其之后所有参数都必须赋值 C.其前、后所有参数都必须赋值D.其前、后所有参数都不必赋值 8.设存在函数int max(int,int)返回两参数中较大值,若求22,59,70三者中最大值,下列表达式不正确的是(C) A.int m=max(22,max(59,70));B.int m=max(max(22,59),70); C.int m=max(22,59,70);D.int m=max(59,max(22,70)); 9.设存在函数int min(int,int)返回两参数中较小值,若求15,26,47三者中最小值,下列表达式中错误的是(B) A.int m=min(min(15,26),min(15,47)); B.int m=min(15,26,47); C.int m=min(15,min(47,26)); D.int m=min(min(47,26),16); 13.函数int&min(int&,int&)返回参数中较小者,设有两整型变量int a=10;int b=15; 在执行语句min(a,b)--;之后,a,b值分别为(B) A.9,14 B.9,15 C.10,14 D.10,15 16.设函数void swap(int&,int&)将交换两形参的值,如两整型变量int a=10;int b=15;则执行swap(a,b)后,a、b值分别为(C) A.10,10 B.10,15 C.15,10 D.15,15

C语言试题-选择题及答案

C语言试题 ★第1 题: 阅读程序,选择程序的运行结果___A___。 #include main() { int x; x=try(5); printf(“%d\n”, x); } try(int n) { if(n>0) return(n*try(n-2)); else return(1); } A. 15 B. 120 C. 1 D. 前面3个答案均是错误的 第2 题: 在下列结论中,只有一个是正确的,它是___A___。 A. 递归函数中的形式参数是自动变量 B. 递归函数中的形式参数是外部变量 C. 递归函数中的形式参数是静态变量 D. 递归函数中的形式参数可以根据需要自己定义存储类型 ★第3 题: 阅读程序,选择程序的输出结果__A___。 #include f(int x, int y) { return(y-x); } main() { int (*g)(int,int); int a=5, b=6, c=2; g=f; c=(*g)(a,b); printf(“%d\n”, c); } A. 1 B. 2 C. 3 D. 前面3个答案均是错误的 第4 题: 阅读程序,选择程序的输出结果__D___。 #include

char *p=”abcdefghijklmnopq”; main() { while(*p++!=?e?) ; printf(“%c\n”, *p); } A. c B. d C. e D. f ★第6 题: 阅读程序,选择程序的输出结果___D___。 #include void prtv(int *x) { printf(”%d\n”, ++*x); } main() { int a=25; prtv(&a); } A. 23 B. 24 C. 25 D. 26 第7 题: 阅读程序,选择程序的输出结果___B___。 #include main() { static char a[ ]= ”language”, b[]=”program”; char *ptr1=a, *ptr2=b; int k; for(k=0; k<7; k++) if(*(ptr1+k)==*(ptr2+k)) printf(”%c”, *(ptr1+k)); } A. gae B. ga C. language D. 有语法错误 ★第8 题: 函数调用strcat(strcpy(str1, str2), str3)的功能是__C___。 A. 将串str1复制到串str2中,然后再连接到str3之后 B. 将串str1连接到串str2之后,再复制到str3之中 C. 将串str2复制到串str1中,然后再将串str3连接到串str1之后

c语言第1、2章练习题答案

第1、2章练习题 1.以下叙述正确的是()。B A)C语言程序是由过程和函数组成的B)C语言函数可以嵌套调用,例如fun(fun(x)) C)C语言函数不可以单独编译D)C语言除了main函数外,其他函数不可以作为单独文件形式存在2.以下叙述正确的是()。C A)C程序的基本组成单位是语句B)C程序中的每一行只能写一条语句 C)简单的C语句必须以分号结束D)C语句必须在一行内写完 3.以下叙述中正确的是()。C A)C程序中的注释只能出现在程序的开始位置和语句的后面 B)C程序书写格式严格,要求一行内只能写一条语句 C)C程序书写格式自由,一条语句可以写在多行上 D)用C语言编写的程序只能放在一个程序文件中 4.下列叙述中错误的是()。A A)一个C语言程序只能实现一种算法B)C语言程序可以由多个程序文件组成 C)C语言程序可以由一个或多个函数组成D)一个C函数可以单独作为一个C程序文件存在5.以下叙述中正确的是()。C A)C语言程序将从源程序中的第一个函数开始执行 B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行 C)C语言规定必须用main作为主函数名,程序从此开始执行,在此结束 D)main可作为用户标识符,用以命名任意一个函数作为主函数 6.对于一个正常运行的C程序,以下叙述正确的是()。A A)程序的执行总是从main函数开始,在main函数中结束 B)程序的执行总是从程序的第一个函数开始,在main函数结束 C)程序的执行总是从main函数开始,在程序的最后一个函数中结束 D)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束 7.下列叙述正确的是()。D A)每个C语言程序文件中都必须有一个main( )函数 B)在C语言程序中main( )函数的位置是固定的 C)C语言程序中所有函数之间都可以相互调用,与函数所在的位置无关 D)在C语言程序的函数中不能定义另一个函数 8.下列叙述中错误的是()。B A)C程序在运行过程中所有计算机都以二进制方式进行 B)C程序在运行过程中所有计算机都以十进制方式进行 C)所有C程序都需要在链接无误后才能运行 D)C程序中整型变量只能存放整数,实型变量只能存放浮点数 9.计算机能直接执行的程序是()。D A)源程序B)目标程序C)汇编程序D)可执行程序 10.C语言源程序的后缀名是()。B A).exe B).c C).obj D).cp 11.下列叙述中错误的是()。D A)计算机不能直接执行用C语言编写的源程序 B)C程序经C编译器编译后,生成后缀为.obj的文件,这是一个二进制文件 C)后缀为.obj的文件,经连接后生成后缀为.exe的文件,这是一个二进制文件 D)后缀为.obj和.exe的二进制文件都可以直接运行 12.算法中,对需要执行的每一步操作都必须给出清楚、严格的规定,这属于算法的()。C

(完整版)C语言程序设计选择题库及答案

单项选择题 导读:单项选择题要求从给出的四个备选答案中,选出一个最符合题意的答案。本类习题主要检查对C语言基本概念的掌握情况,读者可根据学习进度选做部分习题。在完成习题的过程中,不但要选出正确的答案,而且要清楚不正确的选项错在何处,以加深对概念的理解。对于掌握不准的问题, 应该通过上机实验来检验。 【1.1】以下不正确的C语言标识符是____。 A) int B) a_1_2 C) ab1exe D) _x 【1.2】以下是正确的C语言标识符是____。 A) #define B) _123 C) %d D) \n 【1.3】下列四组字符串中都可以用作C语言程序标识符的一组是。 ??? A) print B) i\am C) Pxq D) str_l ??? _3d one_half My->book Cpp ??? oodb start$it line# pow ??? aBc 3pai His.age while

【1.4】下面各选项组中,均是C语言关键字的组是。 A) auto,enum,include B) switch,typedef,continue C) signed,union,scanf D) if,struct,type 【1.5】下列不属于C语言关键字的是。A) default B) register C) enum D) external 【1.6】C语言程序从main()函数开始执行,所以这个函数要写在____。 A) 程序文件的开始B) 程序文件的最后 C) 它所调用的函数的前面D) 程序文件的任何位置 【1.7】下列关于C语言的叙述错误的是____ A) 大写字母和小写字母的意义相同 B) 不同类型的变量可以在一个表达式中 C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型 D) 同一个运算符号在不同的场合可以有不同的含义

c语言练习题带详解答案

一、编程题 1.输入2个整数,求两数的平方和并输出。 #include int main(void) { intt a ,b,s; printf("please input a,b:\n"); scanf("%d%d”,&a,&b); s=a*a+b*b; printf("the result is %d\n",s); return 0; } 2. 输入一个圆半径r,当r>=0时,计算并输出圆的面积和周长,否则,输出提示信息。 #include #define PI 3.14 int main(void)

{ double r ,area , girth; printf("please input r:\n"); scanf("%lf",&r); if (r>=0) { area =PI*r*r; girth =2*PI*r ; printf("the area is %.2f\n", area); printf("the girth is %.2f\n", girth);} else printf("Input error!\n"); return 0; } 3、已知函数y=f(x),编程实现输入一个x值,输出y值。 2x+1 (x<0) y= 0 (x=0)

2x-1 (x>0) #include void main() { int x,y; scanf(“%d”,&x); if(x<0) y=2*x+1; else if(x>0) y=2*x-1; else y=0; printf(“%d”,y); } 4.从键盘上输入一个百分制成绩score,按下列原则输出其等级:score≥90,等级为A;80≤score<90,等级为B;70≤score<80,等级为C;60≤score<70,等级为D;score<60,等级为E。 #include void main(){ int data;

(完整版)C语言选择题(附答案)

第一单元C语言概述 一、选择题 1、C语言中主函数的个数为(A)个。 A)1 B)2 C)无穷个D)任意个 2、以下关于C语言描述错误的是(D)。 A)一个C程序总是从main函数开始执行T B)每个语句和数据声明的最后必须有一个分号T C)C语言的注释符是以“/*”开始并以“*/”结束的T D)一个C程序可以包含多个main函数F 3、C 语言源程序文件后缀为(C )。 A).EXE B).OBJ C).C D).ASM 4、C语言是由(C )组成的。 A)子程序B)主程序与子程序C)函数D)过程 5、C语言属于(B )语言 A)机器语言B)汇编语言C)高级语言D)面向对象语言 第二单元C语言基础 一、选择题 1、C语言中普通整型变量int在内存中占(B )字节。 A)1 B)2 C)3 D)4 2、下列不是C语言基本数据类型的是(A )。 A)字符型B) 整型 C) 浮点型D) 结构体 3、有关自增、自减运算,以下只有(D )是正确的。 A) ---f B) ++78 C) a—b++ D) d++ 4、已知A=7.5,B=2,C=3.6,表达式(A>B && C>A) || (AB)的值是(A )。 A)0 B)10 C)1 D)5

5、若有x=1,y=2,z=3,则表达式(x=‘A’)&(ch<=‘Z’) C) (ch>=‘A’)&&(ch<=‘Z’) D) (‘A’<= ch)AND(‘Z’>= ch) 7、判断整型变量digit是否为数字的正确表达式是(C )。 A) ‘0’<=ch<=‘9’B) (ch>=‘0’)&(ch<=‘9’) C) (ch>=‘0’)&&(ch<=‘9’) D) (‘0’<= ch)AND(‘9’>= ch) 8、一个C程序的执行是从(A )。 A)本程序的main函数开始,到main函数结柬 B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C)本程序的main函数开始,到本程序文件的最后一个函数结束 D)本程序文件的第一个函数开始,到本程序main函数结束 9、在以下标识符中,合法的是(C ) A)if B)0xy C)_xy D)case 10、C语言中各种类型的数据其实决定了占用内存的字节数。float占(C )。 A)一字节B)二字节C)四字节D)八字节 11、下列各选项中,(A )是有效的标识符。 A)ab B)3day C)day-3 D)#abc 12、以下叙述正确的是(C ) 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,则正确的数据输入方式是( B )。 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的表达式是( C )。 A)b = a/2 B)b = 6-(--a) C)b=a%2 D)b=a>3?2:1

C语言函数练习题2

/* 姓名:白银 日期:2007.6.11 描述:英尺,英寸,米,厘米之间的转换 */ #include float GetInch(float feet); float GetMeter(float inch); float GetCentiMeter(float meter); void main() { float inch; float meter; float centimeter; float feet; printf("请输入英尺的值\n"); scanf("%f",&feet); inch=GetInch(feet); printf("转换成英寸的结果是%.2f:",inch); printf("\n"); meter=GetMeter(GetInch(feet)); printf("转换成米的结果是%.2f:",meter); printf("\n"); centimeter=GetCentiMeter(GetMeter(GetInch(feet))); printf("转换成米的结果是%.2f:",centimeter); printf("\n");

} float GetInch(float feet) { float inch; inch=feet*12; return inch; } float GetMeter(float inch) { float meter; meter=inch*2.54; return meter; } float GetCentiMeter(float meter) { float centimeter; centimeter=meter*100; return centimeter; } /* 姓名:白银 日期:2007.6.11 描述:底和高求三角形面积 */ #include float GetArea(float h,float l); void main() {

C语言练习题及参考答案

练习题1及参考答案 1. 单项选择题 (1)以下并非C语言的特点的是。 A. C语言简洁和紧凑 B. 能够编制出功能复杂的程序 C. C语言可以直接对硬件进行操作 D. C语言移植性好 【答】B (2)一个C程序的执行是从。 A. main()函数开始,直到main()函数结束 B. 第一个函数开始,直到最后一个函数结束 C. 第一个语句开始,直到最后一个语句结束 D. main()函数开始,直到最后一个函数结束 【答】A (3)在C程序中,main()的位置。 A. 必须作为第一个函数 B. 必须作为最后一个函数 C. 可以任意 D. 必须放在它所调用的函数之后 【答】C (4)一个C程序是由。 A. 一个主程序和若干子程序组成 B. 一个或多个函数组成 C. 若干过程组成 D. 若干子程序组成 【答】B (5)下列说法正确的是。 A. 在执行C程序时不是从main()函数开始的 B. C程序书写格式限制严格,一行内必须写一个语句 C. C程序书写格式比较自由,一个语句可以分行写在多行上 D. C程序书写格式严格要求一行内必须写一个语句,并要求行号【答】C 2. 填空题 (1)一个C源程序至少有① 个main()函数和② 个其他函数。【答】①一②若干 (2)任何C语句必须以结束。 【答】分号

(3)C语言源程序的基本单位是。【答】函数 (4)C编译程序的功能是。【答】将C源程序编译成目标代码

练习题2及参考答案 1. 单项选择题 (1)以下字符串为标识符的是。 A. _MY B. 2_2222 C. short D. LINE 5 【答】A (2)下列符号可以作为变量名的是。 A. +a B. *p C. _DAY D. next day 【答】C (3)设c是字符变量,则以下表达式正确的是。 A. c=666 B. c='c' C. c="c" D. c="abcd" 【答】B (4)23+'m'+'b'的结果是型数据。 A. char B. double C. int D. long int 【答】和均为double型,运算结果也是double型。本题答案为B。 (5)若变量已正确赋值,以下符合C语言语法的表达式是。 A. a=a+7; B. a=7+b+c,a++ C. int%4) D. a=a+7=c+b 【答】选项A错误,以分号结尾是一个语句而不是表达式;选项B正确,是一个逗号表达式;选项C错误,因为%求模运算的两个运算数必须均为整数;选项D错误,给一个表达式(a+7)而非变量赋值是不正确的。本题答案为B。 (6)整型变量x=1,y=3,经下列计算后,x的值不等于6的表达式是。 A. x=(x=1+2,x*2) B. x=y>26:5 C. x=9-(--y)-(--y) D. x=y*(int)2) 【答】选项A的计算过程——x=1+2=3,再计算x=x*2=6;选项B的计算过程——y>2为真,x=6;选项C的计算过程——式中有两个--运算,最后y=1,x=9-1-1=7;选项D的计算过程——x=y*(int)2)=y*2=6。本题答案为C。 (7)若定义 int m=7,n=12; 则能得到值为3的表达式是。 A. n%=(m%=5) B. n%=(m-m%5) C. n%=m-m%5 D. (n%=m)-(m%=5) 【答】A、B、C、D选项各表达式的值分别是0、2、2、3。本题答案为D。 (8)以下程序的运行结果是。 #include <> main() { int i=5,j=6,m=i+++j; printf("%d,%d,%d\n",i,j,m); }

C语言题库及答案(选择题)

C语言题库(选择题) 1.C语言源程序的基本单位是()。 A.过程 B.函数 C.子程序 D.标识符 2.下列字符序列中,可用作C标识符的一组字符序列是()。 A. S.b,sum,average,_above B. class,day,lotus_1,2day C. #md,&12x,month,student_n! D. D56,r_1_2,name,_st_1 3.以下标识符中,不能作为合法的C用户定义标识符的是()。 A.a3_b3 B.void C._123 D.IF 4.以下数据中,不正确的数值或字符常量是()。 A.0 B.5L C.o13 D.9861 5.以下数值中,不正确的八进制数或十六进制数是()。 A.0x16 B.16 C.-16 D.0xaaaa 6.以下的选择中,正确的赋值语句是()。 A.a=1,b=2 B.j++ C.a=b=5; D.y=int(x) 7.以下运算符中,优先级最高的运算符是()。 A.?: B.++ C.&& D., 8.在C语言中,能代表逻辑值“真”的是()。 A.TRUE B.大于0的数 C.非0整数 D.非0的数 9.下列变量说明语句中,正确的是()。 A.char:a b c; B.char a;b;c; C.int x;z; D.int x,z; 10.下列字符序列中,不可用作C语言标识符的是()。 A.b70 B.#ab C.symbol D.a_1 11.以下不正确的叙述是()。 A.在C程序中所用的变量必须先定义后使用。 B.程序中,APH和aph是两个不同的变量。 C.若a和b类型相同,在执行了赋值语句a=b;后b中的值将放入a中,b中的值不变。 D.当输入数值数据时,对于整型变量只能输入整型值;对于实型变量只能输入实型值。 12.以下标识符中,不能作为合法的C用户定义标识符的是()。 A.For B.Printf C.WORD D.sizeof 13.以下标识符中,不能作为合法的C用户定义标识符的是()。 A.answer B.to C.signed D._if 14.以下标识符中,不能作为合法的C用户定义标识符的是()。 A.putchar B._double C._123 D.INT 15.以下数据中,不正确的数值或字符常量是()。 A.8.9e1.2 B.10 C.0xff00 D.82.5 16.以下数据中,不正确的数值或字符常量是()。 A.c B.66 C.0xaa D.50 17.以下运算符中,优先级最高的运算符是()。

C语言第二章习题带答案

练习2-1答案 选择题 1.C语言中的简单数据类型包括( B )。 A.整型、实型、逻辑型B.整型、实型、字符型 C.整型、字符型、逻辑型D.整型、实型、逻辑型、字符型2.在C语言中,错误的short类型的常数是( A )。 A.32768 B.0 C.037 D.0Xaf 3.下列常数中不能作为C的常量的是( D )。 A.0x45 B.-2 C.3e2 D.0582 4.short类型的数据长度为2个字节,则unsigned short类型数据的取值范围是( B )。 A.0至255 B.0~65535 C.-32768~32767 D.-256~255 5.下面4个选项中,均是合法转义字符的选项是( A )。 A.'\'','\\','\n' B.'\','\017','\' C.'\018','\f','xab' D.'\\0,'101','x1f 6.在C语言中,数字029是一个( D )。 A.八进制数B.十六进制数 C.十进制数D.非法数7.下列可以正确表示字符型常数的是( B )。 A."a" B.'\t' C."\n" D.297 8.以下( C )是错误的转义字符。 A.'\\' B.'\'' C.'\81' D.'\0' 9.C语言中short类型的变量a的值为-8,则a在内存中的存储形式是( A )。 A.1111 1111 1111 1000 B. 1000 C.000000000000 1000 D.1111 1111 1111 0111 10.将字符g赋给字符变量c,正确的表达式是( C )。 A.c="g" B.c=101 C.c='\147' D.c='0147' 11.字符串"\\\22a,0\n"的长度是( C )。 A.8 B.7 C.6 D.5 12.为求出s=10!的值,则变量s的类型应当为( C )。 A.short B.unsigned short C.long D.以上三种类型均可 13.已知:unsigned short x=65535;,则执行以下语句输出是( D )。 printf("%d\n", x); A.65535 B.1 C.无定值D.-1 14.下面4个选项中,均是合法整型常量的选项是( A )。 A.160,-0xffff,011 B.-0xcdf,01a,0xe C.-01,986,012,0668 D.-0x48a,2e5,0x 15.下面4个选项中,均是不合法的整型常量的选项是( D )。 A.--0f1,-0xffff,0011 B.-0Xcdf,01a,0xe C.-018,999,5e2 D.-0x48eg,-068,03f

相关主题
文本预览