当前位置:文档之家› C语言试卷2

C语言试卷2

C语言试卷2
C语言试卷2

C语言模拟考试

学号:2 姓名:路超颖得分:1 ..................................................................

单项选择

下列说法中正确的是( ).

A.函数调用不占运行时间,只占编译时间.

B.宏替换不占运行时间,只占编译时间.

C.有参数的宏定义,就是函数.

D.在定义宏时,宏名与带参数的括弧之间可以加空格.

【评分报告得分:1.0 之 1.0 】

【参考答案】正确

B

【学生答案】

B

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

A.Printf

B.WORD

C.For

D.sizeof

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

D

【学生答案】

B

以下运算符中优先级最低的是()。

A.&&

B.<=

C.||

D.+

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

C

【学生答案】

[未答此题]

以下选项中合法的实型常数是()。

A.E-3

B..2E0

C.1.3E

D.5E2.0

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

B

【学生答案】

[未答此题]

若有以下程序:

main()

{

int k=2,i=2,m;

m=(k+=i*=k);

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

}

执行后的输出结果是( )。

A.8,3

B.7,4

C.8,6

D.6,4

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

D

【学生答案】

[未答此题]

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

A.11 和 10

B.10 和 11

C.11 和 11

D.10 和 10

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

B

【学生答案】

[未答此题]

下面叙述中错误的是( )。

A.函数的形式参数,在函数未被调用时就不被分配存储空间

B.若函数的定义出现在主调函数之前,则可以不必再加说明

C.一般来说,函数的形参和实参的类型要一致

D.若一个函数没有return语句,则什么值也不会返回

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

D

【学生答案】

[未答此题]

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

A.( )

B.函数预说明

C.实际参数

D.函数返回值

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

A

【学生答案】

[未答此题]

设a,b,c,f均为整型变量,则执行以下程序段后,f的值为:( ) a=0;b=c=1;

f=--a||++b&&--c;

A.不确定值

B.0

C.2

D.1

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

D

【学生答案】

[未答此题]

执行下列语句后的输出为()。

int j=-1;

if(j<=1) printf("****\n");

else printf("%%%%\n");

A.%%%%

B.****

C.有错,执行不正确

D.%%%%c

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

B

【学生答案】

[未答此题]

下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,请选择填空。

#include

main()

{

int i=0,j,k;

do{i++;k=316-13*i;}while(______);

j=k/11;

printf("316=13*%d+11*%d",i,j);

}

A.k%11==0

B.k/11

C.k%11

D.k/11==0

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

C

【学生答案】

[未答此题]

以下函数调用语句中实参的个数是()。

func((e1,e2),(e3,e4,e5));

A.语法错误

B.5

C.3

D.2

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

D

【学生答案】

[未答此题]

若x是int类型变量,以下程序段的输出结果是

for(x = 3; x < 6; x++)

printf( (x%2)?("**%d"):("##%d\n"),x);

A.

B.

C.

D.

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

D

【学生答案】

[未答此题]

语句printf("a\bre\'hi\'y\\\bou\n");的输出结果是(说明:'\b'是退格符)()。

A.a\bre\'hi\'y\\\bou

B.re'hi'you

C.abre'hi'y\bou

D.a\bre\'hi\'y\bou

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

B

【学生答案】

[未答此题]

表达式18/4*sqrt(4.0)/8值的数据类型为()。

A.float

B.double

C.不确定

D.int

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

B

【学生答案】

[未答此题]

以下常量中,能够代表逻辑“真”值的常量是()。

A.\0'

B.'0'

C.0

D.NULL

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

B

【学生答案】

[未答此题]

以下数组定义中不正确的是()。

A.int a[2][3];

B.int b[][3]={0,1,2,3};

C.int d[3][]={{1,2},{1,2,3},{1,2,3,4}};

D.int c[100][100]={0};

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

C

【学生答案】

[未答此题]

执行下列语句后,a和b的值分别为()。

int a,b;

a=1+'a';

b=2+7%-4-'A';

A.-63,-64

B.79,78

C.98,-60

D.1,-60

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

C

【学生答案】

[未答此题]

关于带参数的宏,下列说法正确的是( ).

A.宏展开只能得到一个结果.

B.宏展开时要进行内存单元的分配.

C.宏展开时,不求参数的值,而只进行字符替换.

D.宏名无类型,但是它的参数是有类型的.

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

C

【学生答案】

[未答此题]

若有定义和语句:

int a[4][3] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}, (*prt )[3] = a, *p[4], i;

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

p[i] = a[i];

则不能够正确表示a数组元素的表达式是

A.(*(p+1))[1]

B.a[4][3]

C.p[0][0]

D.prt[2][2]

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

B

【学生答案】

[未答此题]

执行下面程序段后,b的值为( ).

int x=35;

char z='A';

int b;

b=((x&&15)&&(z<'a'));

A.1

B.0

C.2

D.3

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

A

【学生答案】

[未答此题]

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

A.0

B.o13

C.5L

D.9861

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

B

【学生答案】

[未答此题]

在宏定义#define PI 3.14159中, 用宏名代替一个( ).

A.字符串

B.常量

C.单精度数

D.双精度数

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

A

【学生答案】

[未答此题]

以下哪一个函数的运行不可能影响实参( ).

A.void f(char *x[ ])

B.void f(char x[ ])

C.void f(char *x)

D.void f(char x, char y)

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

D

【学生答案】

[未答此题]

以下函数的类型是

fff( float x)

{

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

}

A.与参数x的类型相同

B.无法确定

C.void类型

D.int 类型

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

D

【学生答案】

[未答此题]

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

A."ab"

B."wb+"

C."ab++"

D."rb+"

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

B

【学生答案】

[未答此题]

下列关于指针定义的描述,___________是错误的

A.指针变量的类型与它所指向的变量类型一致

B.指针是一种变量,该变量用来存放某个变量的地址值的

C.指针变量的命名规则与标识符相同

D.指针是一种变量,该变量用来存放某个变量的值

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

D

【学生答案】

[未答此题]

定义my_file为文件型指针变量,使用fopen以只写方式打开一个文本文件,以下正确的调用形式为( ).

A.my_file=fopen("my.dat", "w+");

B.my_file=fopen("my.dat", "wb+");

C.my_file=fopen("my.dat", "wb");

D.my_file=fopen("my.dat", "w");

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

D

【学生答案】

[未答此题]

有以下程序段

int n=0,p;

do

{

scanf("%d",&p);

n++;

}while(p!=12345&&n<3);

此处do-while循环的结束条件是______。

A.p的值等于12345并且n的值大于等于3

B.p的值不等于12345并且n的值小于3

C.p的值不等于12345或者n的值小于3

D.p的值等于12345或者n的值大于等于3

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

D

【学生答案】

[未答此题]

若已定义了如下的共用体类型变量x,则x所占用的内存字节数为( ). (设在16位PC机的环境下).

union data

{

int i;

char ch;

double f;

} x;

A.7

B.11

C.8

D.10

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

C

【学生答案】

[未答此题]

以下选项中正确的整型常量是

A.4/5

B.5

C.-10

D.1.000

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

C

【学生答案】

[未答此题]

能将高级语言编写的源程序转换为目标程序的是()。

A.编辑程序

B.解释程序

C.链接程序

D.编译程序

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

D

【学生答案】

[未答此题]

以下程序的输出结果是

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 < 3; k++)

printf(“%d”, a[k]);

}

A.34756

B.23445

C.35745

D.12345

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

C

【学生答案】

[未答此题]

已知字符'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

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

A

【学生答案】

[未答此题]

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

A._double

B.INT

C._123

D.putchar

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

D

【学生答案】

[未答此题]

设有如下函数定义

int f(char *s)

{char *p=s;

while(*p!='\0') p++;

return (p-s);

}

如果在主程序中用下面的语句调用上述函数,

则输出结果是( ).

printf("%d\n",f("goodbye!"));

A.3

B.6

C.8

D.0

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

C

【学生答案】

[未答此题]

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

A.C语言中的函数不可以单独进行编译

B.C语言中的每条可执行语句最终都将被转换成二进制的机器指令

C.C源程序经编译形成的二进制代码可以直接运行

D.C语言的源程序不必通过编译就可以直接运行

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

B

【学生答案】

[未答此题]

假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是()。

A.10

B.6

C.3

D.20

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

D

【学生答案】

[未答此题]

char h,*s=&h;可将字符H通过指针存入变量h中的语句是()。

A.s='H'

B.*s='H';

C.s=H;

D.*s=H;

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

B

【学生答案】

[未答此题]

在以下给出的表达式中,与 do--while(E)语句中的(E)不等价的表达式是()。

A.(E>0||E<0)

B.(E==0)

C.(!E==0)

D.(E!=0)

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

B

【学生答案】

[未答此题]

判断

gets 函数是用来输入一个字符的函数.

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

错误

【学生答案】

未答此题

整数 -32100可以赋值给int型和long int型变量。

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

正确

【学生答案】

未答此题

x*=y+8 等价于 x=x*(y+8)。

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

正确

【学生答案】

未答此题

字符处理函数strcpy(str1,str2)的功能是把字符串1接到字符串2的后面.

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

错误

【学生答案】

未答此题

C语言中只能逐个引用数组元素而不能一次引用整个数组。

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

正确

【学生答案】

未答此题

设x=1,y=2,z=3,则逻辑表达式x-y>z&&y!=z的值为0.

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

正确

【学生答案】

未答此题

结构体变量所占的内存长度等于最长的成员的长度.

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

错误

【学生答案】

未答此题

整型变量在全部范围内可以用字符格式输出.

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

错误

【学生答案】

未答此题

格式字符%e以指数形式输出实数数字部分小数位数7位.

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

错误

【学生答案】

未答此题

若有int ⅰ=10, j=0;则执行完语句

if (j=0)ⅰ+ +; else ⅰ- -; ⅰ的值为11。

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

错误

【学生答案】

未答此题

break语句能够终止当前进行的多层循环.

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

错误

【学生答案】

未答此题

在程序中定义了一个结构体类型后,可以多次用它来定义具有

该类型的变量。

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

正确

【学生答案】

未答此题

一个C程序的执行是从本程序文件的第一个函数开始,到本程序main函数结束

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

错误

【学生答案】

未答此题

在C语言中,各种类型的整型数据在内存中都占2个字节。

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

错误

【学生答案】

未答此题

两个字符串中的字符个数相同时才能进行字符串大小的比较

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

错误

【学生答案】

未答此题

两个类型相同的结构体变量,可以互相赋值.

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

正确

【学生答案】

未答此题

逻辑表达式-5&&!8的值为1.

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

错误

【学生答案】

未答此题

C语言本身不提供输入输出语句,输入和输出操作是由函数来

实现的。

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

正确

【学生答案】

未答此题

求解表达式max=(a>b)?a:b的步骤是,先求解条件表达式(a>b),再根据它的值将a或b赋给max.

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

正确

【学生答案】

未答此题

设有数组定义: char array[ ]="hello"; 则数组 array所占的内存空间为5字节.

【评分报告得分:0.0 之 1.0 】

【参考答案】错误

错误

【学生答案】

未答此题

程序改错

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

【程序改错】

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

题目:调用函数输出a,b的值。

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

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

------------------------------------------------------*/ #include "stdio.h"

void fun(int *a, int *b)

{

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

int k;

k=a;

a=b;

b=k;

}

main( )

{

int a=3, b=6;

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

fun(a,b);

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

}

【评分报告得分:0.0 之 15.0 】

【改错1】错误

【学生答案】

int k;

【参考答案】

int *k;

============================================================

【改错2】错误

【学生答案】

fun(a,b);

【参考答案】

fun(&a,&b);

============================================================

程序填空

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

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

功能:从键盘输入若干行字符,输入后把他们存储到一磁盘文件中。在从该文件中读出这些数据,将其中的小写字母转换

成大写字母后在屏幕上输出。

-------------------------------------------------------*/ #include "stdio.h"

#define N 100

main()

{

FILE *fp;

char c,*p,s[N][20];

int i,n;

printf("n=");scanf("%d",&n);

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

if(n<1_____n>N) exit(0);

printf("Input%d string:\n",n);

for(i=0;i

scanf("%s",s[i]);

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

fp=fopen("text",_____);

for(i=0;i

{

p=s[i];

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

while(*p!='\0')

if(!ferror(fp)) fputc(_____,fp);

}

fclose(fp);

printf("\n");

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

fp=fopen("text",_____);

while((c=fgetc(fp))!=EOF)

{

if(c>'a'&&c<='z')c-+32;

putchar(c);

}

printf("\n");

fclose(fp);

}

【评分报告得分:0.0 之 15.0 】

【空 1 】错误

【学生答案】

if(n<1_____n>N)exit(0);

【参考答案】

||

============================================================

【空 2 】错误

【学生答案】

fp=fopen("text",_____);

【参考答案】

"w"

============================================================

【空 3 】错误

【学生答案】

while(*p!='\0')

【参考答案】

*p++

============================================================

【空 4 】错误

【学生答案】

fp=fopen("text",_____);

【参考答案】

"r"

============================================================

程序设计

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

【程序设计】

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

功能:在键盘上输入一个3行3列矩阵的各个元素的值(值

为整数),然后输出主对角线元素的平方和,并在

fun()函数中输出。

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

#include

void b ky();

main()

{

int i,j,s,a[3][3];;

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

{

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

C语言试题及答案

一、单项选择题 1. 软件危机具有下列表现( d )。 I. 对软件开发成本估计不准确II. 软件产品的质量往往靠不住 III. 软件常常不可维护IV. 软件成本逐年上升 A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 2. 软件生命周期一般都被划分为若干个独立的阶段,其中占用精力和费用最多的阶段往往是( A )。 A. 运行和维护阶段 B. 设计阶段 C. 代码实现阶段 D. 测试阶段 3. 下列属于软件的特点的是( D )。 A. 软件是一种逻辑实体,具有抽象性 B. 软件在使用过程中没有磨损、老化的问题 C. 软件不同于一般程序,它的一个显着特点是规模庞大,复杂程度高 D. 以上都正确 4. 软件工程的出现是由于( D )。 A. 软件危机的出现 B. 计算机硬件技术的发展 C. 软件社会化的需要 D. 计算机软件技术的发展 5. 软件开发技术不包含( d )。 A. 软件开发方法学 B. 软件工程环境 C. 软件工具 D. 软件质量度度量 6. 软件工程的课程特点( D )。 I. 学科理论及其知识应用的多维性 II. 工程化 III. 浓厚的方法学色彩 IV. 实践性、指导性强 A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 7. 下列属于应用软件的是( b )。 I. 计算机辅助教学软件II. 软件测试工具 III. 办公自动化软件IV. 工程与科学计算软件 A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 8. 需求分析阶段最重要的技术文档是( b )。

C语言试卷及答案

《C语言程序设计》考试试卷(答案) 一、填空题(每小空1分,共10分) 1.C语言程序的三种基本结构是顺序结构、选择结构、循环结构。 2.一个C程序有且仅有一个main( ) 函数。 3.C语言描述“x和y都大于或等于z”的表达式是x>=z && y>=z。 4.C语言可以用来实现循环的结构化语句是while、do while、for。 5.数组名表示数组在内存的首地址。 6.int a=3,*p=&a;*p+2的值是5。 二、单项选择题(每小题2分,共70分) 1.__B___是C语言合法的常量。 (A).45(B)078 (C)25.6e3.4 (D)‘xy’2.一个程序的执行是从 A 。 (A)本程序的main函数开始,到main函数结束 (B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。 (C)本程序的main函数开始,到本程序文件的最后一个函数结束。 (D)本程序文件的第一个函数开始,到main函数结束。 3.以下叙述正确的是 C 。 (A)在C程序中,main函数必须位于程序的最前面。 (B)C程序每行中只能写一条语句。 (C)C语言本是没有输入输出语句。 (D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误。 4.以下叙述不正确的是 D 。 (A)逗号运算符的运算级最低。 (B)ABC和abc是两个不同的变量。 (C)若a和b类型相同,在执行a=b后,b的自身值不变。 (D)‘a’和“a”是完全等价的常量。 5.int x=3,y=2;则表达式x+=x*=y+8的值为 C 。 (A)28 (B)30 (C)60(D)17 6.设x=2.7,a=8,y=4.9,算术表达式x+a%3*(int)(x+y)%5/3的值为 B 。 (A)2.7 (B)3.7(C)4.7 (D)4.03 7.执行下面两个语句后,输出的结果为__D___。 char c1=98; printf(“%d %c”,c1,c1-32); (A)97 66 (B)98 b (C)b 66 (D)98 B 8.执行下面语句后的结果为 C 。 y=10;x=y++; (A)x=10,y=10 (B)x=11,y=11 (C)x=10,y=11(D)x=11,y=10 9.Char w;int x;float y;double z;则表达式w*x+z-y值的数据类型是A 。 (A)double (B)char (C)int (D)float 10.C语言中要求操作数必须是整数的运算符是 B 。

c语言试题及答案

1、以下正确的说法是( B ) (A) 用户若需要调用标准库函数,调用前必须重新定义 (B) 用户可以重新定义标准库函数,若如此,该函数将失去原有含义 (C) 系统根本不允许用户重新定义标准库函数 (D) 用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调 2、以下正确的函数声明形式是( A ) (A) double fun(int x, int y) (B) double fun(int x; int y) (C) double fun(int x, int y); (D) double fun(int x,y); 3、以下正确的函数形式是( D ) (A) double fun(int x, int y) { 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、以下正确的说法是( A ) 在C语言中 (A) 实参和与其对应的形参各占用独立的存储单元 (B) 实参和与其对应的形参共占用一个存储单元 (C) 只有当实参和与其对应的形参同名时才共占用存储单元 (D) 形参是虚拟的,不占用存储单元 5、若调用一个函数,且此函数中没有return语句,则正确的说法是( A ) 该函数 (A) 没有返回值 (B) 返回若干个系统默认值 (C) 能返回一个用户所希望的函数值 (D) 返回一个不确定的值 6、以下不正确的说法是( B ) C语言规定 (A) 实参可以是常量、变量和表达式 (B) 形参可以是常量、变量和表达式 (C) 实参可以为任意类型 (D) 形参应与其对应的实参类型一致 7、以下正确的说法是( C ) (A) 定义函数时,形参的类型说明可以放在函数体内 (B) return后边的值不能为表达式 (C) 如果函数值的类型与返回值类型不一致,以函数值类型为准 (D) 如果形参与实参的类型不一致,以实参类型为准 8、C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是( B ) (A) 地址传递 (B) 单向值传递 (C) 由实参传给形参,再由形参传回给实参 (D) 由用户指定传递方式

C语言试卷2及答案

扬州大学试题纸 系课程 C语言程序设计(A)卷2002—2003学年第2学期 班级_________学号________姓名__________得分___________ 一、选择题(每题分,共30分): 1、已知:char a; int b; float c; double d; 则执行语句:c=a+b+c+d; 后,变量c的类型为。 A. char B. int C. float D. double 2、已有定义int x; float y; 且执行scanf(“%2d%f”,&x,&y);语句时, 从第一列开始输入数据12345 67<回车>,则y的值是。 A. 无定值 B. 345.00000 C. D. 3、设有以下程序段 int x=0; s=0; while (!x!=0) s+=++x; printf(“%d”,s); 则。 A. 运行程序段后输出0 B. 运行程序段后输出1 C. 程序段中的控制表达式是非法的 D. 程序段执行无限次 4、若i为整型变量,则以下循环执行次数是。 for(i=2; i==0;) printf(“%d”, i--); A. 无限次 B. 2次 C. 1次次 5、假设char ch=’a’, *p=&c h; ,以下语句中,有语法错误的是 . A. (*p)++; B. ch+=—‘a’+’A’; C. toupper(ch)=ch; D. ch++; 6、若说明:char *language[ ]={“VFP”,”C”,”VB”,”VC”,”JAVA”}; 则language[2]的值是。 A. 一个字符 B. 一个地址 C. 一个字符串 D. 一个不定值 7、C语言程序中,当调用函数时。 A. 实参和虚参可以共用存储单元 B. 实参和虚参各占一个独立的存储单元 C. 可以由用户指定是否共用存储单元 D. 由计算机系统自动确定是否共用存储单元 8、在程序中要使用语句:printf(“%s\n”, STRING); 输出提示信息:“OK! ”(包括双引号),则应使用宏定义语句。 A. #define STRING “OK!” B. #define STRING “”OK!”” C. #define STRING \”OK!\” D.以上三个答案都是错误的 9、数组和链表都可以用于存储一组数据,以下说法不正确的是_____________。 A. 数组占用连续的一块存储区域,链表可能占用若干不连续的存储区域 B. 数组和链表所占用的存储区域均不能在程序运行期间动态分配 C. 数组中的数据可以随机存取或顺序存取,链表中的数据只能顺序存取 D. 数组的长度是固定的,链表的长度是不固定的。 10、已知语句FIL E *fp; char ch= ‘c’;fp=fopen(“”,”w”);如果需要将ch的值保存到一个磁盘文件中,

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语言程序设计试卷含答案

说明:请将单项选择题(1~50空)的正确答案涂写考试答题卡,将填空(51~75空)等文字题按【】中的序号写入下面文字答题卡,否则不得分。 二、阅读程序题文字答题卡:(每空2分,共24分) 三、完善程序填空题文字答题卡:(每空2分,共26分) 一、单项选择题(每空1分,共50分) 请将正确答案按【】中的序号写入答题卡,否则不得分。 1.在C语言中,一条语句以【】字符作为结束符。

A),B);C).D)无符号2.以下4组标识符中,能作为变量名使用的是【】。 A)age,struct,s1 B)2A,b_3,main C)ELSE,a[2],m123 D)_abc,INT,abcd 3.判断char型变量ch是否为数字字符的正确表达式为【】。 A)0<=ch<=9 B)'0'<=ch<='9' C)(0<=ch)&&(ch<=9)D)('0'<=ch)&&(ch<='9') 4.已知小写字母a的ASCII码值是97,大写字母A的ASCII码值是65,下列语句中不能输出大写字母B的是【】。 A)putchar('A'+1);B)putchar('b'-32); C)putchar(98-32);D)putchar(B); 5.空字符串的长度是【】。 A)0B)1 C)2 D)3 6.整型变量a定义后赋初值的结果是【】。 int a=2.8*6; A)12 B)16C)17 D)18 7.若有以下说明语句,则该语句【】。 char a='\077'; A)使a的值包含1个字符B)使a 的值包含4个字符 C)使a的值包含3个字符D)说明不合法 8.下面的程序结果为:【】。 main() { int x=023; printf("%d\n",--x); } A)17 B)18C)23 D)24 9.源程序执行后,屏幕上显示【】。 main() { int a; float b; a=4; b=9.5; printf("a=%d,b=%4.2f\n",a,b); } A)a=%d,b=%f\n B)a=%d,b=%f C)a=4,b=9.50 D)a=4,b=9.5 10.设int x=10;x+=x%=(-6)+4;则x= 【】。 A)0B)16 C)18 D)10 11.C语言的下列运算符中,运算对象必须是整型数据的是【】。

C语言模拟试卷2(带答案)

,. 单选题: 1、执行下面的程序段后,变量k中的值为 s[0]=k; k=s[1]*10; A. 不定值 B. 33 C. 30 D. 10 答案: A 2、设有以下定义: #define N 3 #define Y(n) ( (N+1)*n) 则执行语句:z=2 * (N+Y(5+1));后,z的值为_______.2*(3+ (4*5+1) A. 出错 B. 42 C. 48 D. 54 答案: C 3、若已定义X和Y为double型,则表达式:x=1,y=x+3/2的值是____ A. 1 B. 2 C. 2.0 D. 2.5 答案: c 4、请选出以下语句的输出结果____ printf("%d\n",strlen("\t\ 065\xff\n")) A. 5 B. 4 C. 8 D. 输出项不合法,无正常输出 答案: B 5、为避免嵌套的条件分支语句if…else的二义性,C语言规定,C 程序中的 else总是与____组成配对关系。 A. 其上面距它最近的,并且没有其他else与其配对的if相配对 B. 在同一行上的if C. 缩排位置相同的if D. 在其之前未配对的if 答案: A 6、若X和Y都是int型变量,X=100,Y=200,且有下面的程序片段: printf("%d",(X,Y)); 上面程序片段的输出结果是 A. 200 B. 100 C. 100 200 D. 输出格式符不够,输出不确定的值 答案: A 7、请读程序片段(字符串内没有空格字符): printf("%d\n", strlen("ATS\n012\1\\")); 上面程序片段的输出结果是 A. 11 B. 9 C. 10 D. 8 答案: B 8、设有以下程序段 int x=0,s=0; while(!x!=0) s+=++x; printf("%d",s); 则______ A. 运行程序段后输出0 B. 运行程序段后输出1 C. 程序段中的控制表达式是非法的 D. 程序段执行无限次 答案: B 9、阅读下列程序: main( ) { int n[3],i,j,k; for(i=0;i〈3;i++) n[i]=0; k=2; for (i=0;i < k;i++) i=0: n[0]=1,n[1]=2 i=1: =3 =3 for (j=0;j〈2;j++) n[j]=n[i]+1; printf("%d\n",n[1]); } 下述程序运行后输出结果是 A. 2 B. 1 C. 0 D. 3 答案: D 10、输入一个华氏温度,要求输出摄氏温度。计算公式为: c=5/9(F-32),以下程序正确的是() A. main() { float c,F; scanf("%f,%f",&c,&F); c=5/9*(F-32); printf("摄氏温度是:%f\n",c); }

c语言试题及答案

《C语言》课程综合复习资料 一、单选题 1. 在C语言中,字符型数据在存中的存储形式是 A)原码 B)补码 C)反码 D)ASCII码 2. 在C语言中,十进制数47可等价地表示为 A) 2f B) 02f C) 57 D) 057 3. 设有定义:int x=12,n=5; 则表达式 x%=(n%2) 的值为 A) 0 B) 1 C) 2 D) 3 4. 设有定义语句:char str[][20]={,"Beijing","中国石油大学"},*p=str; 则printf("%d\n",strlen(p+20)); 输出结果是 A)10 B) 6 C) 0 D) 20 5. 已定义以下函数: fun(int *p) { return *p; } 该函数的返回值是 A)不确定的值 B)形参p所指存储单元中的值 C)形参p中存放的值 D)形参p的地址值 6. C语言中,函数返回值的类型是由 A)return语句中的表达式类型决定 B)调用函数的主调函数类型决定 C)调用函数时的临时类型决定 D)定义函数时所指定的函数类型决定 7. 有以下函数定义: void fun( int n , double x ) { …… } 若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是 A) fun( int y , double m ); B) k=fun( 10 , 12.5 ); C) fun( 10 , 12.5 ); D) void fun( 10 , 12.5 ); 8. 以下选项中不能正确赋值的是 A) char b[]={′H′,′e′,′l′,′l′,′o′,′!′}; B) char b[10];b="Hello!";

(完整版)C语言试题及答案解析

C语言 一、选择题(第题2分,共20分) 1.一个C程序的执行是从 A 。 A) 本程序的main函数开始,到main函数结束 B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C) 本程序文件的第一个函数开始,到本程序main函数结束 D) 本程序的main函数开始,到本程序文件的最后一个函数结束 2.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为 C 。 x=(i=4,j=16,k=32) A) 4 B) 16 C) 32 D) 52 3.设C语言中,一个int型数据在内存中占2个字节,则unsigned int 型数据的取值范围为 C 。 A) 0~255 B) 0~32767 C) 0~65535 D) 0~2147483647 4.设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为 D 。 A) float B) char C) int D) double 5. putchar函数可以向终端输出一个 D 。 A) 整型变量表达式 B) 实型变量值 C) 字符串 D) 字符或字符型变量值 6. printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式 B ;如果字符串长度小于5,则输出按方式 C 。 A) 从左起输出该字符串,右补空格 B) 按原字符长从左向右全部输出 C) 右对齐输出该字符串,左补空格 D) 输出错误信息 7.判断char型变量ch是否为大写字母的正确表达式是 C 。 A) ‘A’<=ch<=‘Z’ B) (ch>=‘A’)&(ch<=‘Z’) C) (ch>=‘A’)&&(ch<=‘Z’) D) (‘A’<= ch)AND(‘Z’>= ch) 8.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是 B 。 if(x>y) z=x; x=y; y=z; A) x=10, y=20, z=30 B) x=20, y=30, z=30 C) x=20, y=30, z=10 D) x=20, y=30, z=20 9.以下程序段______C__. x=-1; do{ x=x*x; } while(!x); A)是死循环 B)循环执行二次 C)循环执行一次 D)有语法错误 10.以下正确的描述是___B____. A)continue语句的作用是结束整个循环的执行

C语言试卷及答案

一、选择题(每题 1 分,共 20 分) 1. C 语言程序的三种基本结构是顺序结构、选择结构和结构。 A、循环 B、递归 C、转移 D、嵌套 2. 下列标识符中,合法的是_______ 。 A) unsigned B) 5ab C) INT# D)_num2 3. 若float x ;x = 10/4 ;x的值是。 A、2.5 B、2.0 C、3 D、 2 4. 表达式!x 等价于。 A、x==0 B、x==1 C、x != 0 D、x != 1 5. 算术运算符、赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为。 A、算术运算、赋值运算、关系运算 B、关系运算、赋值运算、算术运算 C、算术运算、关系运算、赋值运算 D、关系运算、算术运算、赋值运算 6. 能将高级语言编写的源程序转换为目标程序的是。 A、链接程序 B、解释程序 C、编译程序 D、编辑程序 7. 下列语句定义pf为指向float类型变量f的指针,是正确的。 A、float f, *pf = f; B、float f, *pf = &f; C、float *pf = &f, f; D、float f, pf = f; 8. 一个C程序的执行是从。 A、本程序的main函数开始,到main函数结束 B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C、本程序的main函数开始,到本程序文件的最后一个函数结束 D、本程序文件的第一个函数开始,到本程序main函数结束 9. 能正确表示“当x的取值在[1,10]或[[200,210]范围内为真,否则为假”的表达式是________。 A、(x>=1)&&(x<=10)&&(x>=200)&&(x<=210) B、(x>=1)||(x<=10)||(x>=200)||(x<=210) C、(x>=1)&&(x<=10)||(x>=200)&&(x<=210) D、(x>=1)||(x<=10)&&(x>=200)||(x<=210) 10. 对两个数组a和b进行如下初始化 char a[]=“ABCDEF”;char b[]={ …A?,?B?,?C?,?D?,?E?,?F?}; 则以下叙述正确的是。 A、a和b数组完全相同 B、a和b长度相同 C、a和b中都存放字符串 D、a数组比b数组长度长 11. 是不正确的字符常量。 A、'\n' B、'1' C、"a" D、'\101' 12. 若变量已正确定义,语句“if(a>b) k=0; else k=1;”和等价。 A、k=(a>b)?1:0; B、k=a>b; C、k=a<=b; D、a<=b ? 0 : 1; 13. 设变量定义为“int x, *p=&x;”,则&*p相当于。 A、p B、*p C、x D、*&x 14. 有两个字符数组a、b,则以下正确的输入语句是。 A)gets(a,b); B) scanf(“%s%s”,a,b); C) scanf(“%s%s”,&a,&b); D) gets(“a”),gets(“b”); 15. C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是。 A、地址传递 B、单向值传递

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

C语言部分 一、选择题(每小题2分,共10分) (下在各小题,分别有一个或多个正确答案,请将所有正确答案的编号,填写在该小题题干后的括号内。错选或漏选均不得分)。 1、若定义:int a[2][3]{0,2,4,6,8,10};以下描述正确的有( A,C,D, E ) A、*(a+1)为元素6的地址 这里a+1=a[1]的地址;*(a+1)的值是6,故A正确。 B、*(a[1]+1)的值为2 为8,故B不正确 C、**(a+1)+2的值为8 这里a+1是一个指针,指向的是a[1]. *(a+1)为a[1],a[1]指向的是a[1][0]. **(a+1)为6,加2得8,故C正确; D、a[0]与a相同 因二者都是指针,指针的地址都是指向数组中的第一个元素的地址,故D正确。 E、a[1][2]的值为10 它是指第二行的第三个元素,为10,正确 2、对函数的正确使用方法描述( A,C,D )。 A、用数组做函数参数时,必须在主调函数和被调函数中分别定义数组 B、实参数组元素和形参数组元素类型可以不一致 C、形参数组长度可以不指定 D、形参数组长度可以大于实参数组长度 E、数组名做参数属于值传递 3、对静态变量的正确描述( A,B,D,E ) A、静态局部变量在静态存储区内分配单元() B、静态外部变量可以赋初值,也可以不赋初值 C、静态外部变量的作用与外部变量相同 D、静态局部变量在函数调用结束时,仍保存其值,不会随着消失。 E、静态局部变量只赋一次初值 4、下列描述正确的是( A ,C)。 A、由main 函数及其参数argc和* argv[]可以实现命令行方式 B、使用fclose关闭文件时,先释放文件指针,再写缓冲区数据到文件中 //先写缓冲区数据到文件中,再释放文件指针 C、字符数组并不要求它的最后一个字符是‘\0’ //是的,以字符指针指向的字符串才要求,因为只有这样,才能知道字符串的长度,而在字符数组中,不用\0,一样可以知道到哪里是字符数组的结尾。 D、‘A’和“A”都是字符串常量 E、若char*S=“\ta\017bc”;则指针变量S指向的字符串所占的字节数是7 5、在缓冲文件系统中用于读写的函数有( A,B,D ) A、putchar () B、fread() C、rewind () D、purw() E、fseek() 二、程序阅读,并给出运行结果(共10分,每题5分)。 (1)main() { unsigned a,b,x int n; a=0x763 输出结果:

C语言程序设计试卷及答案

C 语言程序设计 笔试试题 题号 一 二 三 四 五 六 笔试(70%) 综 合 (30%) 总分 分数 试卷说明: 1. 笔试卷面总分100分,取卷面成绩的70%计入总分; 2. 综合成绩为平时成绩(10%)和实验成绩(20%)之和,占总分的30%; 3. 答题时禁止拆开试卷钉,试卷背面即为草稿纸; 4. 答题时间120分钟。 一、单项选择题。将正确答案填入下面框中。 (本题16分,每小题1分) 题号 1 2 3 4 5 6 7 8 答案 题号 9 10 11 12 13 14 15 16 答案 1. 有以下程序 main() {int a=1,b=0; if(!a) b++; else if(a==0) if(a) b+=2; else b+=3; printf(“%d\n ”,b); }则程序输出( A )。 A) 0 B) 1 C) 2 D) 3 2. 有以下定义:int a; long b; double x,y;则下列正确的是( A )。 A) a%(int)(x-y) B) a=x!=y C) (a*y)%b D) y=x+y=x 3. 若有定义 int (*p)[3];则下列说法正确的是( C )。 A) 定义了基类型为int 的三个指针变量 B) 定义了一个名为 *pt 、具有三个元素的整型数值 号 学 名 姓 注意行为规范 遵守考试纪律

C) 定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组D) 定义了基类型为int的具 有三个元素的整型数组 4. 有以下程序段 main() { int x=10; while(x--); printf("x=%d\n",x);} 则最后的输出结果是:( B)。 A) x=0 B) x= -1 C) x=1 D)while构成无限循环 5. 有以下程序: int fun() {static int x=1; x *= 2; return x;} main( ) { int i,s=1 ; for(i=1 ;i<=2 ;i++) s=fun() ; printf(“%d\n ”,s) ;} 执行后的输出结果为( D)。 A) 0 B) 1 C) 8 D) 4 6. void main( ){ int k=011; printf("%d\n",k++); } }程序输出结果是( D ) A)12 B) 11 C) 10 D) 9 7. 以下C语言标识符中,不合法的是( C)。 A) _2 B) a_b C) a--b D) AaBc 8. C语言允许函数类型默认定义,此时该函数值隐含的类型是( B)。 A) float B) int C) long D) double 9. 以下程序段运行结果是( B)。 enum weekday{aa,bb=2,cc,dd,ee}week=ee; printf(“%d\n“,week); A) 4 B) 5 C) ee D) 0 10. 以下对C语言函数的描述中,不正确的是( B )。 A) 不同函数中可以使用相同名字变量B) 函数可以嵌套定义 C) 函数可以没有返回值D) 程序由函数组成 11. 若有定义语句:double x[5]={1.0,2.0,3.0,4.0,5.0},*p=x;则错误引用x数组元素的是( D )。 A) *p B) *x C) *(p+1) D) x[5]

二级C语言试题(含答案)

二级C语言试题 一、判断题(2×8=16分) 1、printf()函数总是从新行的起始位置开始打印。( F ) 2、所有的变量在使用前都必须予以申明。(F) 3、在申明变量时必须给出变量的类型。(T) 4、C语言认为变量number和NuMbEr是相同的。( F) 5、打印三行输出的C语言程序必须用三条printf语句。(F) 6、求余运算符%只能用于两个整数操作数。(T) 7、switch选择结构中必须有default子句。(F) 8、如果x>y或ay&&a

c语言试卷及答案1

浙江理工大学 C程序设计试题(一) 试题二、语言基础题(本题共30分) (一)判断题(本题共10分,每小题1分) 说明:在以下提供的若干陈述中,逐一判断其正确与否,选A表示正确,选B表示错误。 (16) C语言程序的三种基本结构是顺序、选择和嵌套。 (17) 在C语言程序中,在函数内部定义的变量称为全局变量。 (18) 运算符“=”和“&=”的优先级相同。 (19) ‘%f’是不正确的字符常量。 (20) 运算符“+”不能作为单目运算符。 (21) 如果运算符“*”和“/”都是右结合的,则表达式10*6/5的值是10。 (22) s(s-a)(s-b)(s-c)是合法的C语言表达式。 (23) 表达式!!6的值是6。 (24) 表达式~(~2<<1)的值是5。 (25) 对于变量定:int a[10],*p=a+8;数组a的最后一个元素是p[1]。 (二)单选题(本题共20分,每小题2分) (26) 执行语句printf("(26) ","A");将得到出错信息。 A、%u B、%s C、%e D、%d (27) 设c是一个字符变量,求解表达(27) 后,c的值不是1就是0。 A、c=getchar()!=’\n’ B、(c=getchar()!)=’\n’ C、c=’1’ D、c=EOF (28) 下列定义中,(28) 定义的变量可以存放-123.4。 A、long a; B、unsigned b; C、int d; D、float c; (29) 对于变量定义;char *pp[100],pp是一个(29) 。 A、函数 B、数组元素 C、指针变量 D、数组 (30) 下列程序段的输出结果是(30) 。 char *st[ ]={ "SUM","MOON","STAR","X"}; printf("(%s,%c) ",*(st+1)+1,*(*(st+2)+2)+2) A、(MOON,M) B、(OON,C) C、(OON,Q) D、(OON,A) (31) 对于以下的变量定义,表达式(31) 是不正确的。 struct node { float x,y;

c语言试题及答案 ()

第1章 C语言概述习题 1. 单项选择题 (1) C 语言是在 B 语言的基础上产生的。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (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 语言只有 37 个关键字和 9 种控制语句。 (2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。 (3) 每个源程序有且只有一个主函数,系统总是从该函数开始执行C语言程序。 (4) 在 C 语言程序中允许出现的字符集是 ASCII码字符集。 (5) C 语言的程序中有特殊含义的英语单词称为保留字。 (6) C 语言标识符的长度是前 8 位有效。 (7) C 语言中,标识符的定义规则是以字母或下划线为开头。 (8) C 语言程序的注释可以出现在程序中的任何地方,它总是以 /* 符号作为开始标记,以 */ 符号作为结束标记。

C语言试卷

一、选择题(请选择一个最合适的答案填在题前面的括号中,每题2分,15 题,计30分) 1、一个C程序的执行是从( A) A、main()函数开始,直到main()函数结束 B、第一个函数开始,直到最后一个函数结束 C、第一个语句开始,直到最后一个语句结束 D、main()函数开始,直到最后一个函数结束 2、下列符号可以作为变量名的是( C ) A、+a B、*p C、_DAY D、next day 3、若定义int m=7,n=12; 则能得到值为3的表达式是(D ) A、n%=(m%=5) B、n%=(m-m%5)2 C、n%=m-m%5 D、(n%=m)- (m%=5)5 4、为了避免嵌套的if-else语句的二义性,C语言规定else总是与(C )组成配对关系 A、缩排位置相同的if B、在其之前未配对的if C、在其之前最近的未配对的if D、同一行上的if 5、以下叙述中正确的是(A ) A、函数的定义不可以嵌套,但函数的调用可以嵌套 B、函数的定义可以嵌套,但函数的调用不可以嵌套 C、函数的定义和调用都可以嵌套 D、函数的定义和调用都不可以嵌套 6、已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量‘\103’是( C ) A、A B、B C、C D、D 7、下列语句段中不是死循环的是(B ) A、for (i=1;;i++) B、i=100; Sum=sum+1; while(1) { i=i%100+1; if (i= =20) break; } C、k=0; D、s=3379; do while (s++%2+3%2) { s++; ++k; } while (k<=0) 8、以下关于字符数组的描述中错误的是(C) A、字符数组可以存放字符串 B、字符数组中的字符串可以整体输入和输出 C、可以在赋值语句中通过运算符“=”对字符数组整体赋值 D、不可以用关系运算符对字符数组中的字符进行比较 9、在定义了数组int a[3][6];后,第10个元素是B A、a[2][4] B、a[1][3] C、a[3][1] D、a[4][2] 10、有以下程序 #include "stdio.h" #include "string.h" main() { char s[]="sb\n\\\'\r\b"; printf("%d,%d\n",sizeof(s),strlen(s));A } A、8,7 B、8,8 C、7,8 D、7,7 11、在C语言的程序中,下列叙述错误的是(D) A、形参是局部变量 B、不同的函数中,可以使用相同名称的变量 C、在一个函数的内部,可以在复合语句中定义变量 D、main()函数中定义的变量在整个文件或程序中都有效 12、C语言中规定函数的返回值的类型是由(D ) A、return语句中的表达试类型所决定 B、调用该函数时的主调用函数类型所决定 C、调用该函数时系统临时决定 D、在定义该函数时所指定的函数类型所决定 13、已知变量a被定义为int型变量,以下定义并初始化指针变量p的语句中正确的是 (D) A、int p=a; B、int *p=*a; C、int p=&a; D、int *p=&a; 1

C语言程序设计模拟试题2(附答案)

《C语言程序设计》模拟试卷二 一、填空题。(每空2分,共30分) 1.设有变量说明语句 int x=1,y=2; 则执行下述printf语句的输出结果是___1.000000___ _____。 printf("%f\n",1.0+x/y); 2.执行下述程序 #include main() { int x,y; scanf("%2d%*2s%1d",&x,&y); printf("%d\n",x+y); } 若从键盘输入 12345671 则程序的输出结果是__17______。 3.以下程序的功能是:从键盘上输入若干名学生的成绩(百分制,可带小数,以输入负数或0为结束标志),统计并输出最高成绩和最低成绩。请填空。 #include main() {

float x,amax,amin; scanf("%f",&x); amax=x; amin=x; while ( X>0&&X<=100 ) { if (x>amax) amax=x; else if (x

_k++ _________; d=1.0/(k*(k+1)); } while (k<=n); printf("%f\n",s); 5.执行下述程序的输出结果是_-3 -4 0 4 4 3___ ____。 #inclued main() { int a[6],i; for (i=0;i<6;i++) { a[i]=9*(i-2+4*(i>3))%5; printf("%3d",a[i]); } printf("\n"); } 6.执行下述程序时的输出结果是____6_____ ________。 #include main() { int a[]={2,4,6,},*ptr=&a[0],x=8,y,z; for (y=0;y<3;y++) z=(*(ptr+y)

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