文档库 最新最全的文档下载
当前位置:文档库 › c语言考试题

c语言考试题

c语言考试题
c语言考试题

1、若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则文件方式字符串应是()。

A、"rb+"

B、"ab++"

C、"ab"

2、下面说法中错误的是( )。

A、共用体变量的地址和它各成员的地址都是同一地址

B、共用体内的成员可以是结构变量,反之亦然

C、函数可以返回一个共用体变量

D、在任一时刻,共用体变量的各成员只有一个有效

3、在定义构造数据类型时,不能()。

A、末尾不写分号

B、说明存储类型

C、初始化

D、说明变量

4、变量的指针,其含义是指该变量的()。

A、名

B、地址

C、一个标志

D、值

5、定义int a,x;,则能正确赋值的语句是( ).

A、a=(x=1,x++,x+2);

B、a="good";

C、a=(a[1]+a[2])/2;

D、a*=*a+1;

6、以下程序的输出结果是( ).

main()

{int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d\n",*(p+2));}

A、4

B、3

C、1

D、2

7、以下叙述中正确的是(A)。

A、宏替换不占用运行时间,只占编译时间

B、使用带参的宏时,参数的类型应与宏定义时的一致

C、在程序的一行上可以出现多个有效的预处理命令行

D、在以下定义中 C R 是称为"宏名"的标识符 #define C R 045

8,在C语言程序中(B)。

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

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

C、函数的定义和函数调用不可以嵌套

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

9.在C语言中,调用函数除函数名外,还必须有(A)。

A、( )

B、函数预说明

C、实际参数

D、函数返回值

10.以下对C语言函数的描述中,正确的是(B)。

A、C函数既可以嵌套定义又可以递归调用

B、C程序必须由一个或一个以上的函数组成

C、函数必须有返回值,否则不能使用函数

D、C程序中有调用关系的所有函数必须放在同一个程序文件中

11.以下函数的类型是(C )。

fff(float x)

{

return 5;

}

A、void 类型

B、与参数x的类型相同

C、int类型

D、无法确定

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

A、有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0

B、数组a的每个元素都可得到初值0

C、二维数组a的第一维大小为1

D、因为二维数组a中第二维大小的值除经初值个数的商为1,故数组a的行数为1

13.以下对一维整型数组a的正确说明是(D)。

A、int a(10);

B、int n; scanf("%d",&n); int a[n];

C、int n=10,a[n];

D、#define SIZE 10 (换行) int a[SIZE];

14.下列字符数组长度为5的是( D)。

A、char d[6]= {'h', 'a', 'b', 'c', '\0' };

B、char c[10]= {'h', 'a', 'b', 'c', 'd'};

C、char b[]= {'h', 'a', 'b', 'c', 'd', '\0'};

D、char a[]={'h', 'a', 'b', 'c', 'd'};

15.设有数组定义: char array [ ]="China"; 则数组 array所占的

空间为(B)。

A、7个字节

B、6个字节

C、5个字节

D、4个字节

16.若char a[10];已正确定义,以下语句中不能从键盘上给a数组的

所有元素输入值的语句是(D)。

A、for(i=0;i<10;i++)a[i]=getchar();

B、scanf("%s",a);

C、gets(a);

D、a=getchar();

17.语句while(!E);中的表达式!E等价于(D)。

A、E==1

B、E!=0

C、E!=1

D、E==0

18.若i为整型变量,则以下循环执行次数是(A)。

for(i=2;i==0;) printf("%d",i--);

A、0次

B、2次

C、无限次

D、1次

19. C语言中 while 和 do-while 循环的主要区别是(A)。

A、do-while 的循环体至少无条件执行一次

B、do-while 的循环体不能是复合语句

C、do-while 允许从外部转到循环体内

D、while的循环控制条件比 do-while的循环控制条件更严格

20.对 for(表达式1; ;表达式3) 可理解为(D)。

A、for(表达式1;表达式1;表达式3)

B、for(表达式1;0;表达式3)

C、for(表达式1;表达式3;表达式3)

D、for(表达式1;1;表达式3)

21. C语言中,switch后的括号内表达式的值可以是( C)。

A、只能为整型和字符型

B、只能为整型

C、任何类型

D、只能为整型,字符型,枚举型

22.以下运算符中,优先级最高的运算符是(D)。

A、==

B、||

C、%

D、!

23.下面说法不正确的是:(C )。

A、a为真b为假,则a&&b为假

B、a为真b为假,!a&&b为假

C、a为真b为假,则a||b为假

D、a为真,!a-1为真

24.下列运算符中,不属于关系运算符的是(C)。

A、>=

B、>

C、!

D、<

25. C语言中,逻辑"真"等价于(C )。

A、大于零的整数

B、大于零的数

C、非零的数

D、非零的整数

26. int a=1,b=2,c=3; if(a>b)a=b; if(a>c)a=c; 则a的值为(C)。

A、3

B、2

C、1

D、不一定

27.执行以下程序段后,输出结果和a的值是(B)。 int a=10; printf("%d",a++);

A、11 和 10

B、10 和 11

C、11 和 11

D、10 和 10

28. printf("a\rHappi\by");在屏幕上正确的输出形式是(A ).

A、Happy

B、Happi

C、aHappi

D、aHappy

29.设有以下变量定义

float a; int i;

选择正确的输入语句是( C);

A、scanf ("%f%d", a,i);

B、scanf ("%6.2f%d", &a,&i);

C、scanf ("%f%d", &a,&i);

D、scanf ("%f%u", &a,&i);

30.字符串"\\\'efg\'\\"的长度是:(C ).

A、3

B、11

C、7

D、5

31.以下符合C语言语法的赋值表达式是:( A).

A、d=q+e,f=d+9;

B、d=q+e=d+9;

C、d=q+e+f=d+9

D、d=q+e++=d+7;

32.下列数据中,为字符串常量的是(D)。

A、A

B、How do you do.

C、$abc

D、"house"

33.以下不符合C语言语法的赋值语句是(D)。

A、a=b=5;

B、y=(a=3,6*5);

C、++j;

D、a=1,b=2

34.以下数据中,不正确的数值或字符常量是(D)。

A、50

B、66

C、0xaa

D、c

35.以下运算符中,优先级最高的运算符是(C)。

A、!=

B、*(乘号)

C、( )

D、=

36.以下的选择中,正确的赋值语句是(D)。

A、y=int(x)

B、a=1,b=2

C、j++

D、a=b=5;

37.以下标识符中,不能作为合法的C用户定义标识符的是(D)。

A、INT

B、_123

C、_double

D、putchar

38.C语言中要求对变量作强制定义的主要理由是(D)。

A、便于移植

B、便于编辑预处理程序的处理

C、便于写文件

D、便于确定类型和分配空间

39.经下列语句定义后,sizeof(x),sizeof(y),sizeof(a),sizeof(b)在

微机上的值分别为(D)。

char x=65;

float y=7.3;

int a=100;

double b=4.5;

A、1,2,2,4

B、2,4,2,8

C、2,2,2,4

D、1,4,2,8

40.先用语句定义字符型变量c,然后要将字符a赋给c,则下列语句中正确的是(B)。

A、C='97'

B、c='a';

C、c="97";

D、c="a";

41.以下标识符中,不能作为合法的C用户定义标识符的是(B)。

A、a3_b3

B、void

C、_123

D、IF

42.以下叙述不正确的是(D)。

A、一个C源程序必须包含一个main函数

B、一个C源程序可由一个或多个函数组成

C、C程序的基本组成单位是函数

D、在C程序中,注释说明只能位于一条语句的后面

43.一个C语言程序是由(D)。

A、若干过程组成

B、若干子程序组成

C、一个主程序和若干子程序组成

D、函数组成

44.C语言执行程序的开始执行点是(A)。

A、程序中的main函数

B、程序中第一个函数

C、包含文件中的第一个函数

D、程序中第一条可以执行语言

45.在位运算中,操作数每右移一位,其结果相当于(C)。

A、操作数乘以16

B、操作数除以16

C、操作数除以2

D、操作数乘以2

46.以下程序调用findmax函数求数组中值最大的元素在数组中的下标,请填入正确的表达式.

#include

findmax(int *s,int t,int *k)

{ int p;

for(p=0,*k=p;p

if(s[p]>s[*k]) ________;

}

main()

{ int a[10],i,k;

for(i=0; i<10; i++) scanf("%

A、k=p-s

B、k=p

C、*k=p

D、*k=p-s

47.下述标识符中,合法的用户标识符是(C )。

A、ab*

B、void

C、getch

D、A#C

48.以下只有在使用时才为该类型变量分配内存的存储类说明是:_D_____.

A、register和static

B、auto和static

C、extern和register

D、auto和register

49.定义char b[5],*p=b;,则能正确赋值的语句是___B__.

A、*b="abcd";

B、p="abcd";

C、*p="abcd";

D、b="abcd";

50.程序的输出结果应该是( B).(备选答案中U表示空格)

#include

#include

void fun(char *s)

{ char a[10];strcpy(a,"string");s=a;}

main()

{ char *p;

fun(p);

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

A、stringUUUU

B、不确定的值

C、stringUUU

D、string

填空

1.一个C程序总是从_main()/ main函数 /主函数 /主函数main____开始执行。

2.在微机中,字符的比较就是对它们的_ASCII码____进行比较。

3.已知 i=5;写出语句 a=--i; 执行后整型变量 a 的值是___4__.

4.已知a=13,b=6, a%b的十进制数值为__1___.

5.在c语言中,格式输入操作是由库函数(只写函数名)__scanf___完成的, 格式输出操作是由库函数(只写函数名)_printf____完成的.

6.下列语句输出的结果是__-1___,unsigned int b=65535;printf("%d",b);

7.已知 i=5, 写出语句 a=(i>5)?0:1; 执行后整型变量 a 的值是___1__.

8.int x=2,y=3,z=4; 则表达式x+(y>!z)的值为___3__.

9.以下do-while语句中循环体的执行次数是___3__. a=10; b=0; do { b+=2; a-=2+b; } while (a>=0);

10.字符串的结束标志是_\0 '\0' 0

11.若有以下数组a,数组元素:a[0]~a[9],其值为 9 4 12 8 2 10 7 5 1 3 数组元素a[3]的值是__8___.

12.按内存排列顺序, 数组char a[2]中的所有元素是a[0]和_a[1]____.

13.C语言中一个函数由函数首部和__函数体___两部分组成.

14.从函数的形式上看,函数分为无参函数和___有参函数__两种类型.

15.若有以下数组a,数组元素:a[0]~a[9],其值为 9 4 12 8 2 10 7 5 1 3

该数组中下标最小的元素名字是__a[0]___.

程序改错

1、/***********ERROR***********/

/***********ERROR***********/

函数sort用选择法对字符串中的字符按由大到小的顺序排序。其中函数strlen的功能是测定字符串中字符的个数(不包括终止符'\0')。

sort(char sg[ ])

{int i,j,k;

char ch;

k=strlen(sg);

【参考答案】

for(i=0;i

2、/*------------------------------------------------------

【程序改错】

--------------------------------------------------------

题目:改正以下程序的函数体中不正确的语句。

--------------------------------------------------------

注意:不可以增加或删除程序行,也不可以更改程序的结构。

------------------------------------------------------*/

#include "stdio.h"

main()

{

int i=8,a,b;

unsigned long w=5;

double x=1.42,y=5.3;

x=x/(-3);

/**********ERROR**********/

y=float(i);

/**********ERROR**********/

y=y+x

a+=a-=(b=4)*(a=3);

【参考答案】

y=(float)i;

y=i;

3、/*------------------------------------------------------

【程序改错】

--------------------------------------------------------

功能:求100以内(包括100)的偶数之和.

------------------------------------------------------*/

#include "stdio.h"

main()

{

/**********ERROR**********/

int i,sum=1;

/**********ERROR**********/

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

sum+=i;

/**********ERROR**********/

printf("Sum=%d \n";sum);

}

【参考答案】

int i,sum=0;

程序填空

1、数组排序。(答案中用U代表空格)

#include

_____

main()

{

static float a[N]={-5,6,8,3,-2,-11};

int i,j;

float t;

for(i=0; _____ ;i++)

for(j=i+1;j

if(a[i]

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

for(i=0;i

【参考答案】

#defineUNU6

2、/*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

题目:根据下面程序的输出结果, 完善程序(U代表空格)。

程序执行结果:

a=-15.38UUUU,b=9.16UUUfirst

-------------------------------------------------------*/

#include "stdio.h"

main()

{

float a=-15.38,b=9.16,c=2.26389,d=-0.343689;

/***********FILL***********/

printf ("_____", a,b);

}

【参考答案】

a=%-10.2f,b=%-7.2ffirst\n

a=%-10.2f,b=%-7.2ffirst

3、/*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

题目:下列程序输出字符end。

-------------------------------------------------------*/

#include "stdio.h"

main()

{

int a,b,c;

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

if(a

/***********FILL***********/

if(b_____c)

printf("end\n");

/***********FILL***********/

_____ printf("%d",b);

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

}

【参考答案】

> else

4、/*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

题目:求矩阵a主对角线元素之和。

-------------------------------------------------------*/

#include "stdio.h"

main()

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

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

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

/***********FILL***********/

if(_____)

/***********FILL***********/ sum=sum+_____;

printf("%3d",sum);

}

【参考答案】

i==j j==I a[i][j]

大学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语言考试题库含答案

================================================== 题号: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;

2020最新C语言考试题库及答案

精选考试类应用文档,如果您需要使用本文档,请点击下载,另外祝您生活愉快,工作顺利,万事如意! 精选考试类文档,如果需要,请下载,希望能帮助到你们! 2020最新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语言考试题

高三11月份月考C语言考试题 一、选择题:(30分) 1.在每一个C程序中都必须包含一个名为()的函数. A.main B. MAIN C. name D. function 2.以下叙述正确的是(). A.C程序中注释部分可以出现在程序中任意合适的地方 B.花括号{和}只能作为函数体的定界符 C.构成C程序的基本单位是函数, 所有函数名都可以由用户命名 D.分号是C语句之间的分隔符, 不是语句的一部分 3.若有定义int a; 变量a占用内存的2个字节, 则a所能存储数据的最 小值是(). A.0 B. -32767 C. -32768 D. -65535 4.在下列4组八进制和十六进制数中, 全部正确的是(). A.123 089 0x23af 0xbd B. 0a21 056 0xabc 0x789 C.010 052 0xdfa 0xff14 D. 0x123 0283 0xabc 0x25f 5. 设有定义”int x=8,y,z;”执行”y=z=x++; x=y==z;”后,变量x的值是() A. 0 B. 1 C. 8 D. 9 6. 能正确表示关系33 and x<5 B. 33||X<5 D. x>3&&x<5 7. 下面表达式正确的是() A. a+b=5 B. 56=a11 C. 5.6+6.2%3.1 D. a=5,b=6,c=7 8. 已知a为整型变量,表达式a!=0真假情况不同的表达式是() A. a>0||a<0 B. a C. !a==0 D. !a 9. 下面程序的输出结果是() main() { int x=’\23’; printf(“%d\n”,--x); } A.19 B. 18 C. 23 D. 24 10. 以下运算符优先级别最低的是() A. ++ B. , C. ?: D. / 11. 下面程序如果在运行时输入18,18,那么b的值是() main() { int a,b; scanf(“%d,%o”,&a,&b); b+=a; printf(“%d”,b); } A. 36 B. 34 C. 输入错误,b的值不确定 D. 18 12. 有以下程序,执行后输出的结果是() main() { int a=5,b=4,c=3,d=2; if(a>b>c) printf(“%d”,d); } A. 2 B. 无输出 C. 5 D. 有语法错误,编译不能通过 13. 执行下面程序段的输出结果是()。 int x=4, y=-55; if(x>0) if(y>0) printf(“AA”); else printf(“BB”); A. AA B. BB C. 无输出 D. 程序错误 14.以下程序的输出结果是()。 main() { if(2==3-1<=8!=4*3) printf(“true\n”); else printf(“false”); } A. true B. false C. T D. F 15.选择i正确的运行结果是() int i=10; switch(i) { case 9: i+=1; break; case 10: i+=1; break; case 11: i+=1; default: i+=1; } A.10 B. 11 C. 12 D. 13 二、填空题(30分) 1.设变量num和变量x的数据类型均为float, num的值为 2.5, 则执行 语句x=(int)num+3.2E-1;后, num的值为______,x为_______。 2.C语言规定: 在每一个字符串结尾加上个______,以便根据此判断是否 结束。 3.当a=6,x=6.8,b=4时,表达式x+a%7(int)x+8/3+b的值是 _____

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

一、选择题 以下表达式中非法的是_______ A. 0<=x<=10 B. i=j==0 C. (char)(65+3) D. x+1=x+1 设有int x=10,y=10; 表达式x&&x-y || x+y 的结果为_______ A.20 B. 10 C. 0 D. 1 若有int x=3;执行语句if(x) x=x+3;else x=x-3; 后,变量x的值为_____ A. 3 B. 6 C. 0 D. 该语句有语法错误 若有定义int x=3; 执行语句while(x>=0) x-- ; 后,变量x的值为_______ A. 3 B. 0 C. -1 D. 2 若有定义int x=3若有定义char st[20]= "abc\ndef"; 则函数strlen(st)的值为_______ A.20 B.8 C.9 D.7; 在函数调用语句fun((x1,x2),(x3,x4,x5))中的实参的个数是_______ A. 1 B. 2 C.3 D. 4 数组初始化为:int a[10]={1,3,5,7}; 则数组元素a[4]的值为_______ A. 0 B. 7 C. 不确定 D. 1 若有定义int x,*p; 能为变量p正确赋值的表达式为________ A. p=x B. p=*x C. p=&x D. *p=x 若有定义struct sk{int a;float b}data; int *p;若要使p指向data中的成员a,正确 的赋值语句为_______________ A.p=&a; B.p=data.a; C.p=&data.a; D.*p=data.a C语言程序语句的分割符,也就是一条语句的结束符是( )。 A.逗号 B.句号 C.分号 D.括号 字符型变量输入、输出的格式是( )。 A.%d b.%f C.%c d.%s 下面求梯形面积的C语句中变量a,b,h,s是float型,不正确的是( )。 a.s=1/2*(a+b)*h B.s=1.0/2*(a+b)*h C.s=1/2.0*(a+b)*h D.s=(a+b)*h/2 While和do/while二种循环语句可能的最少的循环次数分别是( )。 A.0次和0次 B.0次和1次 C.1次和0次 D.1次和1次 说明char a[10]中定义了( )。 A.a[1]至a[10]共10个变量 B.a[1]至a[9]共9个变量 C.a[0]至a[10]共11个变量 D.a[0]至a[9]共10个变量

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); } 计算机技术基础试题第2页(共11页)

C语言考试题及答案

一、单项选择题:(10分,每题2分) 1. char*p[10]; 该语句声明了一个:。 A) 指向含有10个元素的一维字符型数组的指针变量p B) 指向长度不超过10的字符串的指针变量p C) 有10个元素的指针数组p,每个元素可以指向一个字符串 D) 有10个元素的指针数组p,每个元素存放一个字符串 2 .若intx;且有下面的程序片断,则输出结果为:。 for(x=3;x<6;x++) { prin tf((x%2)"##%d":"**%d\n" ,x); } A) ##3 B)**3 C) **3 D)##3**4 **4##4##4**5 ##5 ##5**5 3 .在while (!x )语句中的!x与下面条件表达式等价的是:。 A)x!=0B)x==1 C)x!=1 D)x==0 4 .已知 structpoi nt { intx; inty; }; structrect { structpoi ntpt1; structpoi ntpt2; }; structrectrt; structrect*rp 二&rt; 则下面哪一种引用是不正确的__________ 。 A) r t.pt1.xB) (*rp).pt1.xC) rp->pt1.x D)rt->pt1.x 5 .若二维数组a有m行n列,则下面能够正确引用元素a[i][j]的为:。 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语言考试题

〖第1题〗『填空』(1分) 已知 i=5;写出语句 a=--i; 执行后整型变量 a 的值是【1】. 答案: 1). 4 〖第2题〗『填空』(1分) 为了避免嵌套条件语句的二义性,C++语言规定else 与其前面最近的【1】语句配对. 答案: 1). if 〖第3题〗『填空』(1分) 若所用变量都已正确定义,请填写以下程序段的输出结果【1】. for(i=1;i<=5;i++); cout<<"OK"<b? a:b; return c; } void main() { int a=8; cout<z的值为【1】. 答案: 1). 1 〖第6题〗『填空』(1分) int x=2;z=++x+1; 则z的值为【1】. 答案: 1). 4 〖第7题〗『填空』(1分) int x=2,y=3,z=4; 则表达式x+(y>!z)的值为【1】. 答案: 1). 3 〖第8题〗『填空』(1分) 表达式18 && 53 的值是【1】. 答案: 1). 1 〖第9题〗『填空』(1分) 在C++程序中使用文件结束后要关闭文件,关闭文件 的函数名是【1】.

答案: 1). close 〖第10题〗『填空』(1分) 当一个函数无返回值时,函数的类型应定义为【1】 答案: 1). void 〖第11题〗『填空』(1分) 在C++程序中使用文件前打开文件,打开文件的函数名是【1】. 答案: 1). open 〖第12题〗『填空』(1分) 设x=2.5,a=7,y=4.7,算术表达式 x+a%3*(int)(x+y)%2/4的值为【1】. 答案: 1). 2.5 〖第13题〗『填空』(1分) 执行语句char str[81]="abcdef";后,字符串str结束标志存储在str[【1】] (在括号内填写下标值)中. 答案: 1). 6 〖第14题〗『填空』(1分) 执行下列语句后,b 的十进制值是【1】. int x=240,y=15,b; char z='A'; b=(( x && y ) && ( z < 'a' )); 答案: 1). 1 〖第15题〗『填空』(1分) cin.get()函数只能接收一个【1】. 答案: 1). 字符 〖第16题〗『填空』(1分) int x=2,y=3,z=4; 则表达式x+y>!z的值为【1】. 答案: 1). 1 〖第17题〗『填空』(1分) int x=y=z=2;x=y==z; 则x的值为【1】. 答案: 1). 1 〖第18题〗『填空』(1分) C++语言程序的三种基本结构是:顺序结构,选择结构,【1】结构. 答案: 1). 循环

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

7、C 语言程序的基本单位是 A) 程序行B) 语句 8 、设int a=12, 则执行完语句a+=a-=a*a 后,a 的值是 ___ D ___ A) 552 B) 264 C) 144 D) -264 9 、执行下面程序中的输出语句后,输出结果是 ___ B__. #include void main() {int a; printf("%d\n",(a=3*5,a*4,a+5)); } A) 65 B) 20 C) 15 D) 10 10 、下面程序的输出是 _____ B _____ 14 、以下程序的输出结果是______ D ____ . #include void main() { int x=10,y=10; printf("%d %d\n",x--,--y); } A) 10 10 B)99 C)910 D)109 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)); 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 D) 1 5、C 语言提供的合法的数据类型关键字是 ____ B ___ . A) Double B) short C) integer D) Char 6 、字符(char) 型数据在微机内存中的存储形式是 __D__. A) 反码B) 补码C) EBCDIC 码D) ASCII 码 {int x=023; printf("%d\n",--x); } A) 17 B) 18 11 、下面程序的输出的是 #include void main() {int x=10,y=3; printf("%d\n",y=x/y); } A) 0 B) 1 C) 23 D) 24 ____ C ___ C) 3 D) 不确定的值 12 、已知字母A 的ASCII 码为十进制的65,下面程序的输出是 ____________ A ____ . #include void main() {char ch1,ch2; ch1='A'+'5'-'3'; ch2='A'+'6'-'3'; printf("%d,%c\n",ch1,ch2); } A) 67,D B) B,C C) C,D D) 不确定的值 13 、若要求在if 后一对圆括号中表示 a 不等于0 的关系,则能正确表示这一关系的表达式为_________ D__. A) a<>0 B) !a C) a=0 D) a ____ C _____ . C) 函数D) 字符

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语言笔试题(答案)

笔试题 一、填空题(每个空4分,共28分) 1)struct tagABC { char name[10]; char sex; long sno; float score[4]; }*pAbc;(四字节对齐) pAbc=NULL; 那么,执行pAbc+=2;之后pAbc的值为(64 ) 2)如下代码,最终value的值是(8) int *p1,*p2; int value; p1=(int*)0×400; p2=(int*)0×408; value = p2-p1; 3)如下代码,printf的结果为(2) #include〈stdio.h〉 #include〈string.h〉 void main(void) { char acNew[20]= “\\0\0”; printf(“%d\n”,strlen(acNew)); } 4) 有如下程序段,运行该程序的输出结果是(33) main () { int y=3,x=3,z=1; printf(“%d%d\n”,(++x,y++),z+2); } 5)设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后,n的值为(2)6)struct tagAAA { Unsigned char ucId:1; Unsigned char ucPara0:2; Unsigned char ucState:6; Unsigned char ucTail:4; Unsigned char ucAvail; Unsigned char unTail2:4;

Unsigned long ulData; }AAA_S 问:AAA_S在字节对齐分别为1,4情况下,占用的空间大小分别是多少?( 9)(12 ) 二、选择题(每题2分,共34分) 1)若有说明int(*p)[3];以下叙述正确的是( D ) A:p是指针数组 B:(*p)[3]和*p[3]等价 C:p是指向一维数组中任何一个元素的指针 D:p是指向含有3个整型元素的一维数组的指针 2)以下关于单元测试的描述,哪些是对的?(D) A:黑盒测试针对软件的功能,不考虑功能的实现细节; B:白盒测试针对源代码的测试,从程序功能的具体实现上找错; C:路径覆盖是黑盒测试的一种方法,编写测试用例使程序的每条语句都能走到; D:条件覆盖是百盒测试的一种方法, 编写测试用例使程序的每个判断的各种情况都能到3)以下可以用于任务间通信的有(ABCD) A:共享内存 B:信号量 C:消息队列和管道 D:socket调用 4)有关结构,以下哪些描述是对的?(BC) A:为了测试方便,尽量把一个结构的功能设计得多一些 B:不同结构间的关系不要过于复杂 C:结构中的各元素应代表同一事务的不同侧面,而不应把描述没有关系或关系很弱的不同事务的元素放到同一结构中 D:结构中元素的布局与排列顺序可以随意设计 5)关于强制类型转化,下面说法正确的是(ABCD) A:当目的结构的空间大于源结构的空间时,要重点关注内存访问超过源结构范围的情形,可能越界; B:当目的结构的空间小于源结构的空间时,要重点关注对目的结构赋值不能完全覆盖源结构范围的情形,可能遗漏; C:结构体之间的强制类型转换时,其成员字段的数据类型的差异也是要格外小心的; D:与结构体之间的强制类型转换相比,基本数据结构的强制类型转换更容易出现上面描述的情况,使用的时候,一定要慎之又慎; 6)正确的使用assert,软件系统不会对人为原因造成的错误进行处理。它有利于(A BCD) A:缺陷及早暴露,加快定位进程; B:明确表示函数接口或算法逻辑的校验关系,增强软件代码的可读性; C:去除不必要的容错处理,简化代码处理流程,降低软件处理复杂度; D:强化编程接口之间的契约,增强软件的可维护性; 7)对于循环体的执行效率,下述说法正确的是(ABCD ) A:循环体内工作量最小化 B:在多重循环中,应将最忙的循环放在最内层 C:尽量减少循环的嵌套层次 D:避免在循环体内做无谓的判断语句,将循环语句置于判读语句的代码块之中 8)设数组a[5]={10,20,30,40,50};已知指针p指向a[1];则表达式*++p的值是(A)

相关文档