当前位置:文档之家› C语言考试试题

C语言考试试题

C语言考试试题
C语言考试试题

1.若x为int型变量,则执行以下语句后,x的值为-60。

x=6;

x+=x-=x*x; x=x-x*x=-30 x=x+x=-60

2.若有定义int a[2][3]; 则对a数组的第i行第j列元素地址的正确引用为a[i]+j。

3.若有说明:int i, j=2,*p=&i;,则能完成i=j赋值功能的语句是*p=*&j。

4.以下叙述正确的是define和if都不能定义为用户标识符。

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

#define SQR(X) X*X

main()

{ int a=16, k=2, m=1;

a/=SQR(k+m)/SQR(k+m); a/=k+k*m+m/k+k*m+m

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

}

6. 以下程序的输出结果是4。

main()

{int b[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;

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

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

t=t+b[i][j]; { t=t+b[i][j];}

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

}_

7. 编一个程序,打入星期号,输出该星期的英文名字。例如,输入"1"则输出"Monday",说明:星期日编号为0,要求用指针数组处理。

main()

{

char *name[7]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday", "Saturday"};

int n;

printf("\nInput the number(0-6):");

scanf("%d", &n);

if ((n< 7) && (n>=0))

printf("\nThe name is: %s",name[n]);

else

printf("\nInput error");

}

8. 局部变量是静态存储变量。错误

9. "文件包含"处理是指一个源文件可以将另一个源文件的内容全部包含进来。正确

10. 若有定义:int *p1,*p2;则p1+p2无实际意义。正确

11. 若在函数内定义形参数组a:int a[3][4];则数组a中各元素可在程序的编译阶段得到初值0。错误

12. 以下不能正确定义二维数组的选项是int a[2][]={{1,2},{3,4}};。

13. 以下程序的输出结果是6 15 15。

int d=1;

fun(int p) { static int d=5; d+=p; printf("%d ",d); return(d); }

main( ) { int a=3; printf("%d \n", fun(a+fun(d))); }

int d=1--int c=1—fun(d)=fun(c)=fun(1)—d=5 d+=c=1—d=6 printf(6 )

--a=3 d+=a+fun(d)=a+fun(c)=a+d=9—d=15 printf(15 ) printf(15 )

14. 执行输出语句printf("%%%d", 'a')将输出%97。%%为转义字符

15. 设C语言中,一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围为0~65535。

16. 为了判断两个字符串s1和s2长度是否相等,可以使用if (strlen(s1)= = strlen(s2))。

17. 有以下程序,执行后输出结果是1,3,2。

void f(int v , int w)

{ int t;

t=v;v=w;w=t; }

main( )

{ int x=1,y=3,z=2;

if(x>y) f(x,y);

else if(y>z) f(y,z);

else f(x,z);

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

单向值传递,形参变化不改变实参

18. 分析下面程序的运行结果是sum= 10。

#define ADD(x) x+x

main()

{ int m=1,n=2,k=3;

int sum=ADD(m+n)*k; sum=m+n+m+n*k

printf("sum=%d",sum);

}

19. 20/7,-20/7的结果均为整型,而20.0/7和-20.0/7结果为实型。正确

20. 执行下面程序,屏幕输出的值是4。

int i;

printf("%d\n",(i=2,i++,i+2,++i));

21. 以下运算符中优先级最低的是以下运算符中优先级最低的是+= 。

22. 运行下列带有指针数组的程序,输出结果为r,two,完成程序。

main()

{char *s[]={"one","two","three"},*p;

p=s[2];

printf("%c,%s\n",*(p+2),s[1]);

}

23. 用指针数组的元素指向整型数据,输出a[]数组的各元素。

main()

{static int a[5]={1,3,5,7,9};

int *num[5]={&a[0],&a[1],&a[2],&a[3],&a[4]};

int **p,i;

p=num;

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

{printf("%d\t",**p/*num[i]);p++;}

}

24. 程序的输出为y=-1。

#include

main( )

{int y=10; int y=10;

while(y--); if(y!=0) --y;

printf("y=%d\n",y); printf("y=%d\n",y);

}

25. 宏定义只是在编译预处理时作简单的字符串替换。正确

26. 有以下程序

main()

{ int a=5,b=4,c=3,d=2;

if(a>b>c) 从左至右:a>b—1,(a>b)>c—1>c—0,故执行else if printf("%d\n",d);

else if((c-1>=d)==1)

printf("%d\n",d+1);

else

printf("%d\n",d+2);

}

执行后输出结果是3 。

27. 以下程序段中不能根据x值正确计算出y值的是:

y=0;

if(x>0) y=1;

else if(x<0) y=-1;

无x==0;

28. 下面程序的输出结果死循环。

main()

{ int i,sum; 未给sum赋值

for(i=1;i<=3;sum++) sum+=i;

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

}

29. 以下程序的输出结果是you&me 。

main( )

{ char arr[2][4];

strcpy(arr,"you");

strcpy(arr[1],"me");

arr[0][3]='&';

printf("%s\n",arr);

}

30. 若a为整型变量,此循环执行的次数为0次。

for(a=5;a==0;a++)

给a赋值5后,判断a==0不成立,循环不执行

31. 以下程序执行后输出结果是011122。

main()

{ int i;

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

switch(i)

{ case 1: printf("%d",i);

case 2: printf("%d",i);

default: printf("%d",i);

}

}

无break

32. 若x、y、z、m、n均为int 型变量,写出执行结果7,9,7。

m=10;n=5;

x=(--m==n++)?-m:++n; (--m==n++)?—n=6--++n—n=7

y=m++;

z=n;

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

33. C语言提供的预处理功能主要有宏定义、文件包含、条件编译三种。正确

34. 数组char x[]="12345";和char y[]={'1','2','3','4','5'};长度相同。错误

35. 若定义一个只允许本源文件中使用的全局变量,则该变量存储类别是static。正确

36.在下面选项中'081fd'不是正确的转义控制字符。

37.若有以下定义,则对a数组元素的正确引用是*&a[5]。

int a[5],*p=a;

38.若已定义char ch[10];则以下表达式中只有ch++不是表示ch[1]的地址。

A.&ch[1]

B. &ch[0]+1

C. ch++

D. ch+1

39. 在宏定义:#define PI 3.141592中,用宏名PI代替一个字符串。

40. 下面程序的功能为:判断输入的字符串是否"回文"。请将程序补充完整。

#include

#include

main()

{ char s[81],*p1,*p2;

int n;

printf("\nInput a string:");

gets(s);

n=strlen(s);

p1=s;

p2 = s+n-1;

while (p1

{ if (*p1!=*p2) break;

else { p1++; p2--;}

}

if (p1

else printf("Yes\n");

}

41. 以下程序运行后的输出结果是65535。

main()

{ unsigned int a;

int b=-1;

a=b;

printf("%u",a);

}

-1在计算机内存中以补码形式存放是:11 11 11 11 11 11 1111 (第一位为符号位)unsigned 为无符号数,而对应的11 11 11 11 11 11 1111 为 65535

42. 宏定义命令由#define来标识。正确

43. 一条#include命令只能指定包含一个头文件。正确

44. 若有定义int (*p)();则定义p为一个指向函数的指针变量,函数的返回值为整型。正确

45. 函数调用可以作为一个函数的实参。正确

46. 系统不允许用户重新定义标准库函数。错误

47. 若已定义char ch[10];则以下表达式中只有ch++不是表示ch[1]的地址。

ch++为ch[0]的地址

48. 执行语句for(i=1;++i<3;i++);后变量i的值是4。i=++i=2—i++--i=3--i=++i=4

49. 以下程序执行后结果是32 。

#include

main()

{ int i=0,a=0;

while(i<20)

{for(;;)

{ if((i%10)==0) break; i=0-i=i+11=11-a=a+i=11-i=10-i=i+11=21-a=a+i=32 else i--;}

i+=11; a+=i;

}

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

}

50.下列程序执行后输出的结果是4 。

# include

f(int a)

{ int b=0;

static c=3;

a=c++,b++;整体值为b++,将c++赋值给a.

return(a);

}

main()

{ int a=2,i,k;

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

k=f(a++);

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

}

51. int x=10;则表达式x+(char)1/2.0值的类型是double 。

52. 程序for(i=100;i<=1;i--) break;执行完后,i的值等于100。程序不执行

53. 以下程序的运行结果是a=3,b=5,c=2#a=5,b=2,c=1。

#include

main()

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

{ int b=5, c=12;

c-=b*2;

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

a+=c;

}

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

}

54. C语言的预处理功能是指完成宏替换和包含文件的调用。错误

55. 下面程序的执行完后全局变量n的值是21。

int n=1;

main()

{ static int x=5;int y;

y=n;

func();

func();}

func()

{ static int x=4;int y=10;

x=x+2;

n=n+10; 函数调用两次:n=n+10+10=21

y=y+n;

}

56. 执行下面程序,输出结果是6,6,4。

main( )

{int a=2,b=6,c=4;

if(a

if(a

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

57.执行下面程序段后,z的值是65534。

unsigned int x =0xffff, y=2;

unsigned long z;

z = x * y;

58. 以下文本加密程序执行后输出结果是 utrpo mec。

main()

{char a[]="computer";

char t;

int i,j=0;

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

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

if(a[i]

{t=a[i]; a[i]=a[j]; a[j]=t;}

printf("%s",a);

}

59. 执行for语句后,变量i的值是7。

for (i=1;i++<=5;);i=i++=6<=5不成立—i=7

61. C语言中有字符串变量,与字符数组等价。错误

62. 若调用一个函数,且此函数中没有return语句,则该函数没有返回值。错误

63. 为了明确表示函数"不带回值",可以用"void"定义函数"无类型"。正确

64.若有以下定义,则对a数组元素的正确引用是*&a[5]。

int a[5],*p=a;

65. 判断字符串a和字符串b是否相等,应当使用if (strcmp(a,b))。

66. 判断下面函数aaa的功能是求字符串长度。

aaa(char *s)

{char *t=s ;

while(*t++);

return(t-s);

}

67.以下只有在使用时才为该类型变量分配内存的存储类型说明是auto和register。

68. 编译预处理命令进行宏替换后,系统编译时也不做语法检查。错误

69. C语言的编译预处理就是对源程序进行初步的语法检查。错误

70. 如果形参与实参的类型不一致,则以实参类型为准。错误

71. 以下程序的运行结果是运行后报错。

#include "stdio.h"

main( )

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

int *p=a+5, *q=NULL;

*q=*(p+5);

printf("%d %d \n",*p,*q);

}

72. 以下程序的输出结果是31。

fun(int x, int y, int z)

{ z=x*x+y*y; }

main()

{ int a=31;

fun(5,2,a); 单向值传递,无a=fun(5,2,a);

printf("%d",a);

}

73. 若有以下程序段(n所赋的是八进制数),执行后输出结果是32762,32763。

int m=32762, n=032763;

printf("%d,%o\n", m, n);

75. 建立函数的目的之一是提高程序的执行效率。错误

76. 下面程序的功能为:输出数组中的数据元素。请将程序补充完整。

#define N 5

main()

{ int *p,i,a[N];

p=a;

printf("\nInput 5 numbers:");

for (; p

scanf("%d",p);

p=a; 给变量赋初值

printf("\nOutput array:");

for (; p

printf("%d ", *p );

}

77. 下面的程序是输入二维数组的行、列值,输出该位置的元素值,请完善程序。

main()

{ static int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};

int (*p)[4],i,j;

p=a;

scanf("%d, %d", &i,&j);

printf("a[%d,%d]=%d\n",i,j, *((*p+i)+j));

}

79. 若有以下定义和语句:char s1[10];则语句s1="C test";可以给s1正确赋值。错误

80. 当#include后面的文件名用双引号""括起,仅搜索当前目录。错误

81. 写出下面程序的执行结果n=6。

main()

{int i,j,n;

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

{n=0;

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

n=n+j; } n=1+2+3=6

printf("n=%d\n",n); }

82. 有一个数组,内放5个学生成绩,求平均分,用函数实现,请填空。

main()

{ float average();

int score[5]={60,70,80,90,80}, i;

float aver;

printf("\nScores:");

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

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

aver=average(score);/* 函数调用 ,传入首地址 */

printf("\nAverage score: %6.2f",aver);

}

float average(int *array)

{int i;

float aver,sum=0;

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

sum=sum + *(array+i);

aver=sum/5;

return(aver);

}

程序运行结果:

Scores: 60 70 80 90 80

Average score: 76.00

83. 可以用do…while语句实现的循环一定可以用while语句实现。正确

84. C语言规定,形参可以是常量、变量或表达式。错误

85.下面程序的执行结果是0。

main()

{ int x=10;

do {x--;}

while( --x); x=--x时停止

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

}

86. 下列程序运行输出结果是BCD-CD-D-。

main()

{char s[]="ABCD",*p;

for(p=s+1;p

printf("%s-",p);

}

87. 数组若不进行初始化,则其元素值为随机数。正确

88. 以下程序运行后,输出结果是字符c的地址。

main()

{char *s="abcde";

s+=2;

printf("%ld\n",s);

}

89. 以下程序的输出结果是0 1 2 3 4 5 。

main( ) { int w=5; fun(w); printf("\n"); }

fun(int k) { if (k>0) fun(k-1); printf("%d", k); }

等于0时不循环,直接输出k

90. 在不同函数中可以使用相同名字的变量。正确

91. 用8位无符号二进制数能表示的最大八进制数值为377。正确

92. 如果有char a[10];则可用语句scanf("%s",a);来实现为全部数组元素赋

值。正确

93. 下面程序的运行结果是aabcd。

#include

main()

{int i=5;

char c[6]="abcd";

do { c[i]=c[i-1]; } while(--i>0); c[4]=’\0’

puts(c);

}

94. 实参可以是常量、变量或表达式,不一定要求它们有确定的值。错误

95. 一个函数返回值的类型是由调用函数决定的。错误

96. 若x为int型变量,则逗号表达式x=2*3,x+5,x++,x+25的结果为32,x的值为

7。x+5与x的值无关

97.C语言规定,形参应与其对应的实参类型一致。正确

98.下列程序段的输出结果是2 1 4 3。

void fun(int *x, int *y)

{ printf("%d %d", *x, *y); *x=3; *y=4;}

main()

{ int x=1,y=2;

fun(&y,&x);

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

}

99. 输入年、月、日,计算该日子是当年的第几天,即天数,请填空。

#include

main()

{int year,mon,day;

int day_tab[2][12]={{31,28,31,30,31,30,31,31,30,31,30,31}, /*行i=0 */ {31,29,31,30,31,30,31,31,30,31,30,31}};/*行i=1 */

printf("Please Input year,month,day:");

scanf("%d%d%d",&year,&mon,&day);

printf("days=%d\n",day_of_year(day_tab,year,mon,day));

}

day_of_year(int (*p)[12], int year,int mon,int day)

{int i,j;

if (((year%4==0)&&(year%100!=0))||(year%400==0)) i=1;

else i=0;

for (j=0;j

day+=*(p[i]+j); /* p[i]指向列 */

return(day);

}

100. 使用带参的宏时,参数的类型应与宏定义时的一致。错误

101. 若有以下语句,输出结果是-3。

int i=﹣19, j=i%4;

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

102. for(;;)S中的语句S必执行无穷多次。错误

103. 将p定义为字符数组指针,数组大小为10,则char (*p)[10];是正确的定义。

正确

104. 程序运行后的输出结果是17。

main()

{int x=15;

while(x>10&&x<50)

{x++;

if(x/3){x++;break;} x=16 执行x++后,break

else continue;

}

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

}_

105. 以下程序运行后,输出结果是8,17。

func(int a, int b)

{ static int m=0,i=2;

i+=m+1;

m=i+a+b;

return(m);

}

main()

{ int k=4,m=1,p;

p=func(k,m);printf("%d,",p);

p=func(k,m);printf("%d\n",p); i=3+8+1,m=12+4+1

}

106. 若有定义:int s[4][6],t[6][4],(*p)[6]; ,则以下正确的赋值语句是p=s;。与(s[4])[6]对应

107. 以下程序运行后的输出结果是25#21#37。

main()

{ int a,b,c;

a=25;

b=025;

c=0x25;

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

}

108. 下面程序的功能为:在a数组中查找与x值相同的元素的所在位置,用指针实现。请将程序补充完整。

main()

{int a[6],x,i;

printf("\nInput 5 numbers:");

for (i=1; i<=5; i++) scanf("%d",a+i);

printf("\nInput x:");

scanf("%d", &x );

*a=x; i=5;

while (x!=*(a+i))

i--;

if ( i>0) printf("%5d's position is: %4d\n",x,i);

else printf("%5d Not been found!\n",x);

}

109. 若有以下定义和语句:int x=10,*p=&x;*p=x;则两处的*p都用来给指针变量p赋值。错误

110. 编译预处理只对宏作简单的替换工作,并不作正确性检查。正确

111. 语言提供了#define命令来实现"文件包含"的操作错误

112.宏的定义可用制定的标示符代表多个表达式(错误)

113.条件编译就是根据编译的条件来选择编译源程序中的不同部分(正确)114.宏替换不占用运行时间,只占编译时间。(正确)

116.有一个占两个字节的整数,二进制为00101011 10010100,要想取出其中的高字节 00101011,将该数与八进制0177400按位“与”即可。

0177400它的二进制是1111111100000000

117. unsigned int x=0xffff,y=2; unsigned long z; z=x*y;结果65535-2 118. 缓冲文件系统指系统会自动在内存区为每一个正在使用的文件开辟一个缓冲区。

119. 以下各数均不是合法的八进制数:256、03A2、-0127。错误

大学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 。 A)2.5 B)2 C)1 D)3 11.如果int a=3,b=4;则条件表达式"a

C语言考试试题

试题 课程名称C语言程序设计适用时间 试卷类别 A 适用专业、年级、班 一、选择题(每小题2分, 2×25=50分) 1.下列叙述错误的是( )。 A) C程序中的每条语句都用一个分号作为结束符B) C程序中的每条命令都用一个分号作为结束符 C) C程序中的变量必须先定义,后使用 D) C语言以小写字母作为基本书写形式,并且C语言要区分字母的大小写 2.以下叙述不正确的是( )。 A) 一个C源程序必须包含一个main函数B) 一个C源程序可由一个或多个函数组成 C) C程序的基本组成单位是函数D) 在C程序中,注释说明只能位于一条语句的后面 3.C语言中最简单的数据类型包括( )。 A)整型、实型、逻辑型B)整型、实型、字符型 C)整型、字符型、逻辑型D)字符型、实型、逻辑型 4.C语言中运算对象必须是整型的运算符是( )。 A)%= B)/ C)= D)<= 5.若变量a,i已正确定义,且i已正确赋值,合法的语句是( )。 A)a= =1 B)++i;C)a=a++=5;D)a=int(i); 6.下列运算符中优先级最高的是( )。 A) < B) + C) && D) ! = 7.设有说明:char w;int x;float y;double z;则表达式w*x+z-y 值的数据类型是( )。 A) int B) float C) double D) char 8.设x和y均为int型变量,则语句:x+=y;y=x-y;x-=y;的功能是( )。 A)把x和y按从大到小排列B)把x和y按从小到大排列C)无确定结果D)交换x和y中的值 9.设整型变量a,b的值均为8, printf("%d,%d",(a++,++b),b--);的输出是( )。 A)8,8 B)8,7 C)9,9 D)8,9 10.若有语句scanf("%d%d",&a,&b);要使变量a,b分别得到10和20,正确的输入形式为( )。 A)10 20 B)10,20 C)1020 D)10:20 11.判断char型变量ch是否为大写字母的正确表达式是( )。 A)'A'<=CH<='Z' B) (CH>='A')& (CH<='Z') C)(CH>='A')&& (CH<='Z') D) ('A'<=ch)AND('Z'>=ch) 12.有如下程序 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.以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下: main( ) { int n,k; float score,sum,ave; sum=0.0; for(n=1;n<=10;n++) { for(k=1;k<=4;k++) { scanf("%f",&score); sum+=score; } ave=sum/4.0; printf("NO%d:%f\n",n,ave); } } 上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。这条语句是( )。 A) sum=0.0; B) sum+=score; C) ave=sun/4.0; D) printf("NO%d:%f\n",n,ave);

C语言考试试卷及答案

2011-2012学年第一学期 C语言程序设计A 课程A卷考试题 共 4 页此第 1 页成绩 一、单项选择题(每小题2分,共40分) 1. C语言中合法的字符常量是() A.n B.’\n’ C.110 D.”n” 2. 有以下程序: main( ) { char ch=’A’; printf(“ch(1)=%d,ch(2)=%c\n”,ch,ch+1); } 程序运行后的输出结果是() A. ch(1)=65,ch(2)=A B. ch(1)=97,ch(2)=A C. ch(1)=65,ch(2)=B D. ch(1)=97,ch(2)=B 3. 能表示a不能被2整除且a、b不相等,但a、b的和等于0的C语言逻辑表达式是() A. a==-b&&a%2==0 B. a!=b&&a+b==0&&a%2 C. !(a%2)&&a==-b D.a%2==0&&a+b==0 4. 以下程序段中语句” printf("i=%d,j=%d\n",i,j);”的执行次数是() int i, j; for(i=3;i ;i--) for(j=1;j<5;j++) printf("i=%d,j=%d\n",i,j); A. 12 B. 20 C. 15 D. 24 5. 执行以下程序段后,x[2]的值是() int x[10]={1,2,3,4,5,6,7,8,9,10},i,j,t; i=0;j=9; while(i

c语言期中考试试题及答案

中国民航大学2009-2010学年第二学期 《C 语言程序设计》期中考试试卷 课程编号:03402513 试卷类型: A 卷 考试形式:笔试 考试日期: 注意事项:1.请将试卷最后一页的答题纸撕下,将答案填写在其中;2.交卷时请确认答题纸是否按要求写好姓名等信息并与试题一起上交;3.不准携带任何书籍、资料、纸张等。4.草稿纸用试卷的背面。 一、单项选择题(1空1分,共20分) 1、C 语言程序的基本结构是(【1】) 。 【1】 A) 函数 B) 语句 C) 字符 D) 程序行 2、一个C 程序的执行是(【2】) 。 【2】 A) 从本程序的主函数开始,到本程序的主函数结束

B)从本程序的第一个函数开始,到本程序的最后一个函数结束 C) 从本程序的主函数开始,到本程序的最后一个函数结束 D)从本程序的第一个函数开始,到本程序的主函数结束3、下列四个叙述中,错误的是(【3】) 。 【3】 A) 一个C源程序必须有且只能有一个主函数 B) 一个C源程序可以含一个或多个子函数 C) 在C源程序中注释说明必须位于语句之后 D) C源程序的基本结构是函数 4、下面不属于C语言保留字的是(【4】) 。 【4】 A) short B) ELSE C) extern D) for 5、下列四个叙述中,正确的是(【5】) 。 【5】 A) 库函数也是C语言本身的组成部分 B) C语言中的输入输出操作是由相应语句完成的

C) 库函数是C编译系统提供的功能函数 D) 标题文件(头文件)可以在程序的函数内部调用 6、下列四组数据类型中,C语言允许的一组是(【6】)。 【6】 A) 整型、实型、逻辑型 B) 整型、实型、字符型 C) 整型、双精度型、布尔型 D) 整型、实型、复型 7、在C语言中不同数据类型的的长度是(【7】)。 【7】 A) 固定的 B) 由用户自己定义的 C) 任意的 D) 与机器字长有关 8、下列四组(八进制或十六进制)常数中,正确的一组是(【8】)。【8】 A) 016 0xbf 18 B) 0abc 017 0xa C) 010 -0x11 0x16 D) 0A12 7FF -123 9、下列四组转义字符中,合法的一组是(【9】)。 【9】 A)‘\t’‘\\’‘\n’ B)‘\’‘\017’‘\x’

C语言考试试题

1.若x为int型变量,则执行以下语句后,x的值为-60。 x=6; x+=x-=x*x; x=x-x*x=-30 x=x+x=-60 2.若有定义int a[2][3]; 则对a数组的第i行第j列元素地址的正确引用为a[i]+j。 3.若有说明:int i, j=2,*p=&i;,则能完成i=j赋值功能的语句是*p=*&j。 4.以下叙述正确的是define和if都不能定义为用户标识符。 5. 以下程序的输出结果是2。 #define SQR(X) X*X main() { int a=16, k=2, m=1; a/=SQR(k+m)/SQR(k+m); a/=k+k*m+m/k+k*m+m printf("%d\n",a); } 6. 以下程序的输出结果是4。 main() {int b[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1; for(i=0;i<3;i++) for(j=i;j<=i;j++) for(j=i;j<=i;j++) t=t+b[i][j]; { t=t+b[i][j];} printf("%d\n",t); printf("%d\n",t); }_ 7. 编一个程序,打入星期号,输出该星期的英文名字。例如,输入"1"则输出"Monday",说明:星期日编号为0,要求用指针数组处理。 main() { char *name[7]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday", "Saturday"}; int n; printf("\nInput the number(0-6):"); scanf("%d", &n); if ((n< 7) && (n>=0)) printf("\nThe name is: %s",name[n]); else printf("\nInput error"); } 8. 局部变量是静态存储变量。错误 9. "文件包含"处理是指一个源文件可以将另一个源文件的内容全部包含进来。正确 10. 若有定义:int *p1,*p2;则p1+p2无实际意义。正确 11. 若在函数内定义形参数组a:int a[3][4];则数组a中各元素可在程序的编译阶段得到初值0。错误 12. 以下不能正确定义二维数组的选项是int a[2][]={{1,2},{3,4}};。 13. 以下程序的输出结果是6 15 15。 int d=1; fun(int p) { static int d=5; d+=p; printf("%d ",d); return(d); } main( ) { int a=3; printf("%d \n", fun(a+fun(d))); }

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语言考试题及答案

一、单项选择题:(10分,每题2分) 1.char *p[10];该语句声明了一个: c 。 A)指向含有10个元素的一维字符型数组的指针变量p B)指向长度不超过10的字符串的指针变量p C)有10个元素的指针数组p,每个元素可以指向一个字符串 D) 有10个元素的指针数组p,每个元素存放一个字符串 2.若int x;且有下面的程序片断,则输出结果为: D 。 for (x=3; x<6; x++) { printf((x%2) ? "##%d" : "**%d\n", x); } A) ##3B) **3C) **3D)##3**4 **4 ##4 ##4**5 ##5 ##5 **5 3.在while(!x)语句中的!x与下面条件表达式等价的是:D 。 A) x!=0 B) x==1 C) x!=1 D) x==0 4.已知 struct point { int x; int y; }; struct rect { struct point pt1; struct point pt2; }; struct rect rt; struct rect *rp = &rt; 则下面哪一种引用是不正确的__D______。 A) r t.pt1.x B) (*rp).pt1.x C) r p->pt1.x D) rt->pt1.x 5.若二维数组a有m行n列,则下面能够正确引用元素a[i][j]的为: C 。 A) *(a+j*n+i) B) *(a+i*n+j) C) *(*(a+i)+j) D) *(*a+i)+j CDDDC 二、分析程序并写出运行结果。(25分,每题5分) 1. #include main()

c语言考试试题

六 ━━━━━━━━━━━━━━━ 一、判断共10题(共计20分) ━━━━━━━━━━━━━━━ 第1题(2.0分)题号:1259 若定义int m[]={1,2,3,4,5};则m[1]的值为2. 答案:Y 第2题(2.0分)题号:1275 如果定义一个函数时省略类型,则函数没有返回值. 答案:N 第3题(2.0分)题号:12 结构体类型只有一种。 答案:N 第4题(2.0分)题号:1241 在C语言的标识符中,大写字母和小写字母完全等价. 答案: 第5题(2.0分)题号:1271 定义一种结构体类型后,则用该类型定义的所有变量占用内存的大小是相同的. 答案:Y 第6题(2.0分)题号:1269 若定义int a[4]={1,2,3,4};若超界引用a[4]则编译时不报错. 答案:Y 第7题(2.0分)题号:1096 C语言中"%"运算符的运算对象必须是整型. 答案:Y 第8题(2.0分)题号:1109 两个字符串中的字符个数相同时才能进行字符 串大小的比较 答案:N 第9题(2.0分)题号:1135 语句printf("%c",65);存在语法错误. 答案:N 第10题(2.0分)题号:32 若有说明int c;则while(c=getchar());是正 确的C语句。 答案:Y ━━━━━━━━━━━━━━━━━ 二、单项选择共15题(共计30分) ━━━━━━━━━━━━━━━━━ 第1题(2.0分)题号:3114 C语言源程序名的后缀是 A:exe B:c C:obj D:cp 答案:B 第2题(2.0分)题号:184 以下不能正确定义二维数组的选项是 ( ). A:int a[2][2]={{1},{2}}; B:int a[][2]={1,2,3,4}; C:int a[2][2]={{1},2,3}; D:int a[2][]={{1,2},{3,4}}; 答案:D 第3题(2.0分)题号:129 以下各标识符中,合法的用户标识符为 ( ). A:A#C B:mystery C:main D:ab* 答案:B 第4题(2.0分)题号:632 以下叙述正确的是()。 A:do-while语句构成的循环不能用其它语句构 成的循环来代替. B:do-while语句构成的循环只能用break语句 退出. C:用do-while语句构成的循环,在while后的表 达式为非零时结束循环. D:用do-while语句构成的循环,在while后的表 达式为零时结束循环 答案:D 第5题(2.0分)题号:149 以下程序的输出结果是()。 main() {float x=3.6; int i; i=(int)x; printf("x=%f,i=%d\n",x,i); } A:x=3.600000,i=4 B:x=3,i=3 C:x=3.600000,i=3 D:x=3 i=3.600000 答案:C 第6题(2.0分)题号:172 在C语言程序中()。 A:函数的定义可以嵌套,但函数的调用不可以 嵌套 B:函数的定义不可以嵌套,但函数的调用可以 嵌套 C:函数的定义和函数调用均可以嵌套 D:函数的定义和函数调用不可以嵌套 答案:B 第7题(2.0分)题号:678 当调用函数时,实参是一个数组名,则向函数 传送的是()。 A:数组的长度 B:数组的首地址 C:数组每一个元素的地址 D:数组每个元素中的值 答案:B 第8题(2.0分)题号:125 下列程序的输出结果是()。 main() {int a=7,b=5; printf("%d\n",b=b/a); } A:0 B:5 C:1

C语言试题

一、Select one answer from the four answers:( for each question, a total of 30 points) 1.Which of the following expressiong is the equivalent to k=n++? ( ). A) k=n,n=n+1 B)n=n+1,k=n C)k=++n D)k+=n+1 2.What will be the printed output of the following program? ( ). main( ) { int x=10,y=10; printf("%d %d\n",x--,--y); } A)10 10 B) 9 9 C) 9 10 D) 10 9 3.Choose the correct output that following program produces. ( ). main() { int x; x=-3+4*5-6; printf("%d",x); x= 3+4%5-6; printf("%d",x); x=-3*4%6/5; printf("%d",x); x=(7+6)%5/2; printf("%d",x); } A) 11 1 0 1 B) 11 -3 2 1 C) 12 -3 2 1 D)11 1 2 1 4. The printed output of the following program is ( ). #include main() { int y=10; do{y--;}while(--y); printf("%d\n",y--); } A) -1 B) 1 C) 8 D) 0

大学C语言期末考试试题及答案

大学C语言期末考试试题 一选择题(7分,每小题0.5分) 1.C语言源程序的基本单位是()。 A 过程 B 函数 C 子程序 D 标识符 2.下列程序的输出结果是()。 main( ) { int a=7,b=5; printf("%d\n",b=b/a); } A 5 B 1 C 0 D不确定值 3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是()。 A 7 B 8 C 9 D 2 4.设a为int型变量,执行下列赋值语句后,a的取值分别是()。 a=125.534; a=(int)125.521%4; a=5<<2; A 125,31,1 B 125,1,20 C 125,31,20 D 125.534,2,20 5.设有如下程序段,下面描述中正确的是()。 int k=10; while(k=0) k=k-1; A 循环执行一次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一次 6.以下程序的输出结果为()。 int i; void prt( ) { for(i=5;i<8;i++) printf("%c",'*'); printf("\t"); } main( ) { for(i=5;i<=8;i++) prt( ); } A *** B *** *** *** *** C *** *** D * * * 7.在C语言程序中,以下说法正确的是()。 A函数的定义可以嵌套,但函数的调用不可以嵌套 B函数的定义不可以嵌套,但函数的调用可以嵌套 C函数的定义和函数的调用都不可以嵌套 D函数的定义和函数的调用都可以嵌套 8.以下函数调用语句中含有()个实参。 func((e1,e2),(e3,e4,e5)); A 2 B 3 C 5 D 语法错误 9.以下程序的输出结果为()。 #define ADD(x) x*x main( ) { int a=4,b=6,c=7,d=ADD(a+b)*c; printf("d=%d",d); }

C语言期末考试试题及详细答案

选择练习题 1、C 语言中最简单的数据类型包括( B )。 A 、整型,实型,逻辑型 B 、整型,实型,字符型 C 、整型,字符型,逻辑型 D 、整型,实型,逻辑型,字符型 2、C 语言中,运算对象必须是整型数的运算符是(A )。 A 、% B 、/ C 、%和/ D 、* 3、为表示关系x <y <z ,应使用C 语言表达式( A )。 A 、(x <y)&&(y <z ) B 、(x <y)AND (y <z) C 、(x <y <z) D 、(x <y) &(y <z) 4、C 语言程序的基本单位是( C )。 A 、程序行 B 、语句 C 、函数 D 、字符 5、C 语言的程序一行写不下时,可以( D )。 A 、用逗号换行 B 、用分号换行 C 、用回车符换行 D 、在任意一空格处换行 6、下述标识符中,( C )是合法的用户标识符。 A 、A& B B 、void C 、_student D 、 7、在C 语言中,字符型数据在内存中以( B A 、补码 B 、ASCII 码 C 、反码 D 、原码 8、一个程序由若干文件组成,共用同一变量,则此变量的存储类别应该为( B )。 A 、auto B 、extern C 、static D 、Register 9、以下关于switch 语句和break 语句的描述中,只有(B A 、在switch 语句中必须使用break 语句 B 、在switch 语句中,可以根据需要使用或不使用break 语句 C 、break 语句只能用于switch 语句中 D 、break 语句是switch 语句的一部分 10、C 语言规定:调用一个函数时,实参变量和形参变量之间的数据传递是(B )。 A 、地址传递 B 、值传递 C 、由实参传给形参,并由形参传回给实参 D 、由用户指定传递方式 11、下述C 语言转义符中( D )是非法的。 A 、'\b' B 、'\037' C 、'\0xf ' D 、'\'' 12、为了要计算s=10!(10的阶乘),则以下对s 的定义正确的是( D )。

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语言程序设计 一、选择题(用答题卡答题,答案依次填在21~30答题号内) 21. 若有声明语句char s1[10]={0},s2[10]= "books";则能将字符串"books"赋给数组s1保存的表达式是 21 。 A. s1=”books”; B. strcpy(s2,s1); C. s1=s2; D. strcat(s1,s2); 22. 表达式(a=4*5,b=a*2),b-a,a+=2的值是 22 。 A.2 B. 20 C. 22 D. 42 23. 以下是一个自定义函数的头部,其中正确的是 23 。 A. int fun(int a[ ],b) B. int fun(int a[ ],int a) C. int fun(int * a,int b) D. int fun(char a[ ][ ],int b) 24. 以下数组声明语句中正确的是 24 。 A.int n,a[n]; B. int a[ ]; C. int a[2][3]={{1},{2},{3}}; D. int a[ ][3]={{1},{2},{3}}; 25.已知在某C语言编译系统中表达式sizeof(int)的值是2,如果希望将常量-70000正确地保存在一个变量a中,该变量声明语句应当是 25 。 A.int a; B. long int a; C. unsigned int a; D. unsigned long int a; 26. 以下声明语句中,用于声明一个行指针变量的是 26 。 A. int *p(int); B. int *p; C.int (*p)[3]; D. int (*p)(int); 27. 已知A盘根目录下的一个文本数据文件data.dat中存储了100个int型数据,若需要修改该文件中已经存在的若干个数据的值,只能调用依次fopen函数,已有声明语句FILE*fp;则fopen 函数的正确调用形式是 27 。 A. fp=fopen(”a:\\data.dat”,”r+”); B. fp=fopen(”a:\\data.dat”,”w+”); C. fp=fopen(”a:\\data.dat”,”a+”); D. fp=fopen(”a:\\data.dat”,”w”); 28. 在以下程序中,需要在fun函数中声明一个int型的变量,以下选项中 28 不能用作该变量的名字。 A.x B. y C. fabs D. fun #include int y; main( ) {int a=1; fun(a); } int fun(int x) { ; /* int型变量声明语句位置*/ … /*若干执行语句*/ }

大学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 题号:45 能正确表示逻辑关系:" 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; while(i<10) { if(i<1) continue; if(i==5) break; i++; } } A、死循环,不能确定次数 B、6

C语言考试试题

c语言考试题(一) 一、单项选择题(每题2分,共20分) 1、以下选项中属于C语言的数据类型是() A.复数型B.逻辑型C.集合型D.双精度型 2、一个C程序的执行是从() A.main()函数开始,直到main()函数结束B.第一个函数开始,直到最后一个函数结束 C.第一个语句开始,直到最后一个语句结束D.main()函数开始,直到最后一个函数结束 3、设有语句int a=3;则执行语句a+=a-=a*a;后,变量a的值是()A.3 B.0C.-12D.9 4、若有char c[5]={'c','d','\0','e','\0'};则执行语句printf("%s",c);结果是( )。 A.cd\0e B.'c''d' C.cd D.cd e 5、已知:int a[2][3]={1,2,3,4,5,6}, (*p)[3]=a;则下列表达式不是4的是( )。 A.*(*p+3) B.*p+3 C.*(*(p+0)+3) D.a[0][3] 6、以下有宏替换不正确的叙述( ). A.宏替换不占用运行时间B.宏名无类型 C.宏替换只是字符串替换D.宏名必须用大写字母表示

7、执行char str[10]=”Ch\nina”; strlen(str)的值是()A.5 B.6 C.7 D.9 8、下面程序的输出结果是:() #define POWER(x) (x*x) main() {int i=4; printf("%d",POWER(i-2)); } A. -9 B. -7 C. 5 D. -6 9、在定义int a[3][4][2];后,第10个元素是() A.a[2][1][2] B.a[1][0][1] C.a[2][0][1] D.a[2][2][1] 10、下面程序的输出结果是:() typedef struct {long x[2]; short y[4]; char z[8]; }MYTYPE; MYTYPE a; main() { printf("%d\n",sizeof(a));} A. 2 B. 8 C. 14 D. 24 二、填空题(每空1分,共11分) 1、字符串"A"在内存中占用的字节数为。 2、C语言中的标识符只能由字母、下划线和组成。

c语言考试题

fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是()。 A、读或读写 B、追加 C、只写 D、答案B和C都正确 【参考答案】错误 A 【学生答案】 、 D 使用共用体变量,不可以()。 A、同时访问所有成员 B、进行动态管理 C、节省存储空间 D、简化程序设计 【参考答案】正确 A 【学生答案】 % A 设有如下定义:struct sk {int a; float b;} data,*p; 若要使p指向data中的a域,正确的赋值语句是()。 A、p=(struct sk*) ; B、*p=; C、p=&; D、p=&data,a; 【参考答案】错误 C \ 【学生答案】 B 以下程序段执行后输出的结果是( ). char str[ ]="ABCD",*p=str; printf("%d\n",*(p+4)); A、字符'D'的地址 B、0 C、不确定的值 D、68 【参考答案】错误 ^

B 【学生答案】 D 已定义char a[10];和char *p=a;,下面的赋值语句中正确的是( ). A、p="Turbo c"; B、a="Turbo c"; C、*p="Turbo c"; > D、a[10]="Turbo c"; 【参考答案】错误 A 【学生答案】 C 设有如下程序,请选择正确答案( )。 #include <> main() {int **k,*j,i=100; 》 j=&i, k=&j; printf("%d\n",**k); } A、运行错误 B、100 C、i的地址 D、j的地址 【参考答案】正确 B / 【学生答案】 B 以下叙述正确的是()。 A、可以把if定义为用户标识符,但不能把define定义为用户标识符 B、define和if都不能定义为用户标识符 C、可以把define定义为用户标识符,但不能把if定义为用户标识符 D、可以把define和if定义为用户标识符 【参考答案】正确 C ?

C语言考试题库及答案精编

1、下面程序的输出是___D _________ #include void main() { int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k); } A) k=11,k=12,k=11 B) k=11,k=13,k=13 C) k=11,k=013,k=0xb D) k=11,k=13,k=b 2、在下列选项中, 不正确的赋值语句是 __D _______ . A) ++t; B) n1=(n2=(n3=0)); D) 1 5、 C 语言提供的合法的数据类型关键字是 _____ B _____ . A) Double B) short C) integer D) Char 6、字符(char) 型数据在微机内存中的存储 形式是__D__. A) 反码B) 补码C) EBCDIC 码D) ASCII 码 7、C语言程序的基本单位是______ C ________ . A)程序行B) 语句C) 函数 D) 字符 8、设int a=12, 则执行完语句a+=a-=a*a 后,a的值是 D A) 552 B) 264 C) 144 D) -264 9、执行下面程序中的输出语句后, 输出结果是__ B__. C) k=i=j; D) a=b+c=1; 3、下面合法的 C 语言字符常量是 _______ A _____ . A) '\t' B) "A" C) 65 D) A 4、表达式: 10!=9 的值是___ ____ D _____ . A) true B) 非零值C) 0

#include void main() {int a;

C语言考试题库之填空题

二,填空题(10道小题,共20分) 1、一个C源程序中至少应包含一个[main]函数。 2、a是整型变量,则执行表达式a=25/3%3后a的值为。[2] 3、int m=5,y=2;则表达式y+=y- =m*=y的值为。[-16] 4、执行下列语句: int a=1, b=2; a=a+b; b=a-b; a=a-b; printf("%d , %d \n", a,b );的输出结果分别是[2,1] 5、条件表达式的格式为表达式1?表达式2:表达式3,若表达式2和表达式3的类型不同,此时条件表达式的值的类型为二者中较[高]的类型 6、当运行以下程序时,从键盘键入right?(代表回车),则下面程序的运行结果是。#include main( ) { char c; while((c=getchar())!='?') putchar(++c) } [sjhiu?] 7、C语言中的数组必须先[定义],然后使用。 8、如果需要从被调用函数返回一个函数值,被调用函数必须包含【return】语句。 9、已知:float f1=3.2,f2,*pf1=&f1;f2=f1,则*f2的值为。[3.2] 10、以下程序 void fun(char *a, char *b) { a=b; (*a)++; } main () { char c1="A", c2="a", *p1, *p2; p1=&c1; p2=&c2; fun(p1,p2); printf(“&c&c\n”,c1,c2); } 运行后的输出结果是。[&c&c] 11、字符串常量“123”在内存中的字节数是。[4字节] 12、已有定义:int x=3 ;则表达式:x=x+1.78 的值是。【4】 13、int a=24; printf("%o ", a );输出结果是。【30】 14、当a=3,b=2,c=1时,表达式f=a>b>c的值是。【0】 15、下面程序的运行结果是。【x=1,y=20】 #include main() { int i,x,y; i=x=y=0; do {++i; if(i%2!=0) {x=x+i;i++;}

C语言考试试题

C语言程序设计_复习题 第一部分(填空题): 1.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是()。 A.大写字母 B.连接符 C.数字字符 D.下划线 答案:B 2.下面关于计算机正确的是( )。 A.计算机由硬件系统和软件系统两部分构成 B.只要有硬件系统,计算机就能工作 C.计算机只能处理文本信息 D.计算机只能处理计算问题 答案:A 3.( )是c语言提供的合法的数据类型关键字。 A.Int B.long C.Char D.integer 答案:B 4.面向过程的高级语言包括( )。 A.C,JAVA B.C,BASIC C.C++.NET,ASP D.C,VB 答案:B 5.软件按功能可以分为: 应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是( )。 A.编译程序 B. 操作系统 C.教务管理系统 D.汇编程序 答案:C 6.以下选项中关于C语言常量的叙述错误的是()。 A.所谓常量,是指在程序运行过程中,其值不能被改变的量

B.常量分为整型常量、实型常量、字符常量和字符串常量 C.常量可分为数值型常量和非数值型常量 D.经常被使用的变量可以定义成常量 答案:D 7.下面描述中正确的是()。 A.C语言提供了专门的输入/输出语句 B.C语言调用输入/输出函数时需要使用include命令包含头文件 C.C语言可以直接使用输入/输出函数 D.输入/输出函数所在的头文件是stdlib.h 答案:B 8.假设有char型变量c1,c2,执行下面程序段: c1=gatchar(); c2=gatchar(); printf(“c1=%c,c2=%c\n”,c1,c2); 如果c1和c2的值分别为字符a和b,则从键盘正确的输入方式是()。 A.ab<回车> B.a<回车>b<回车> B.C.a<空格>b<回车> D.ab<回车> 答案:A 9.下面描述中正确的是()。 A.printf()函数的输出列表项只允许是变量 B.printf()函数的输出列表项可以是常量、变量以及表达式 C.printf()函数输出列表项也可以是另一个printf()函数 D.printf()函数的输出列表项之间用空格分隔 答案:B 10.假设有:int a,b; scanf("%d,%d",&a,&b);

相关主题
文本预览
相关文档 最新文档