文档库 最新最全的文档下载
当前位置:文档库 › 大一C语言期末考试选择复习题

大一C语言期末考试选择复习题

大一C语言期末考试选择复习题
大一C语言期末考试选择复习题

###

~~~1

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

程序设计就是编制程序

程序的测试必须由程序员自己去完成

程序经调试改错后还应进行再测试

程序经调试改错后不必进行再测试

~C

~~~1

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

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

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

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

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

~B

~~~1

下面关于算法的正确描述是( )。

算法就是计算的方法

算法就是解决问题的步骤

一个问题的算法是唯一的

一个问题的算法只能用一种语言设计

~B

~~~1

对计算机进行程序控制的最小单位是( )。

语句

字节

指令

程序

~C

~~~1

编制一个好的程序首先要确保它的正确性和可靠性,除此以外,通常更注重源程序的( )。易使用性、易维护性和效率

易使用性、易维护性和易移植性

易理解性、易测试性和易修改性

易理解性、安全性和效率

~B

~~~1

与高级语言相比,用低级语言(如机器语言等)开发的程序,其结果是( )。

运行效率低,开发效率低

运行效率低,开发效率高

运行效率高,开发效率低

运行效率高,开发效率高

~C

~~~1

程序设计语言的语言处理程序是一种( )。

系统软件

应用软件

办公软件

工具软件

~A

~~~1

( )是常见的两类程序设计语言处理程序。

高级语言程序和低级语言程序

解释程序和编译程序

编译程序和操作系统

系统程序和应用程序

~B

~~~1

计算机只能直接运行( )。

高级语言源程序

汇编语言源程序

机器语言程序

任何源程序

~C

~~~1

将高级语言的源程序转换成可在机器上独立运行的程序的过程称为( )。解释

编译

连接

汇编

~B

~~~1

著名计算机科学家Nikiklaus Wirth提出一个公式:程序=______。

数据+运算符

数据结构+算法

结构+函数

运算符+运算数

~B

~~~1

解释程序和编译程序的主要区别之一在于______。

单用户与多用户的差别

对用户程序的查错能力

机器执行的效率

是否生成目标程序

~D

~~~1

以下叙述正确的是______。

C语言比其他语言高级

C语言可以不用编译就能被计算机识别执行

C语言以接近英语国家的自然语言和数学语言作为语言的表达形式C语言出现的最晚、具有其他语言的一切优点

~C

~~~2

C语言中最简单的数据类型包括( )。

整型、实型、逻辑型

整型、实型、字符型

整型、字符型、逻辑型

整型、实型、逻辑型、字符型

~B

~~~2

请选出可用作C语言用户标识符的一组标识符( )。

void ,define ,WORD

a3_b3,_123,IF

FOR,——abc , Case

2a,Do,Sizeof

~B

~~~2

C语言中合法的字符常量是( )

'\084'

'\x43'

'ab'

"\0"

~B

~~~2

下列运算符中,哪一个优先级最低?

?:

=

>=

==

~B

~~~2

以下能正确定义且赋初值的语句是( )。

int n1=n2=10;

char c=32;

float f=f+1.1;

double x=12.3e2.5;

~B

~~~2

设有定义:int k=1,m=2; float f=7;则以下选项中错误的表达式是( )。k=k>=k

-k++

k%f

k>=f>=m

~C

~~~2

设有定义:int a=2,b=3,c=4;则以下选项中值为0的表达式是( )。

(!a==1)&&(!b==0)

!a||b||c

a&&b

a||(b+b)&&(c=a)

~A

~~~2

Char p[]={'a','b','c'},q[]="abc";printf("%d %d %d\n",sizeof(p),sizeof(q),strlen(q)); 以上程序段的输出结果是( )。

3 4 4

3 3 3

3 4 3

4 3 4

~C

~~~2

根据程序段判断:char a1='M',a2='m'; printf("%c\n",(a1,a2)); 以下叙述中正确的是( )。

程序输出大写字母M

程序输出小写字母m

格式说明符不足,编译出错

程序运行时产生出错信息

~B

~~~2

设有如下定义:int a=1,b=2,c=3,d=4,m=2,n=2;则执行表达式:(m=a>b)&&(n=c>d)后,n的值为( )。1

2

3

~B

~~~2

有以下程序段char c1='1',c2='2'; c1=getchar(); c2=getchar(); putchar(c1); putchar(c2); 当运行时输入:a<回车>后,以下叙述中正确的是( )。

变量c1将被赋字符a,c2被赋回车符

程序将等待用户输入第二个字符

变量c1被赋字符a,c2中仍是原有字符2

变量c1被赋字符a,c2中将无确定值

~A

~~~2

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

true

非零值

1

~D

~~~2

在c语言中,运算对象必须是整型数的运算符是( )。

%

\

%和\

**

~A

~~~2

以下语句的输出结果是_____。printf("%d\n",NULL);

不确定的(因变量无定义)

-1

1

~B

~~~2

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

(a>=0||b>=0)&&(a<0||b<0)

(a>=0&&b>=0)&&(a<0&&b<0)

(a+b>0)&&(a+b<=0)

a*b>0

~D

~~~2

表示关系x>y≥z,则正确的c语言表达式为________。

x>y>=z

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

(y=z)

(x>y)and(y>=z)

~C

~~~2

有语句scanf("%d,%d",&a,&b);要使变量a、b分别得23、45,则正确的输入形式为_______。

23 45

23,45

23;45

2345

~B

~~~2

以下能定义为用户标识符的是____。

34

e#

int

name

~D

~~~2

下列程序段的运行结果是______。int a=2, c=5;printf("a=%d, b=%d\n",a, c);

a=%2, b=%5

a=2, b=5

a=d, b=d

a=%d, b=%d

~B

~~~2

英文小写字母c的ASCII码为99, 英文大写字母C的ASCII码为______。

50

66

52

67

~D

~~~2

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

用户所定义的标识符允许作到使用关键字

用户所定义的标识符应尽量作到“见名知意”

用户所定义的标识符必须以字母或下划线开头

用户所定义的标识符中,大小写字母代表不同标识

~A

~~~2

若int a=3,则执行完表达式a+=a-=a*a后,a的值是( )。

-3

9

-12

6

~C

~~~2

设x、y、z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值为( )。

4

16

32

52

~C

~~~2

设有如下的变量定义:int i=8, k, a, b;unsigned long w=5;double x=1.42,y=5.2;则以下符合C语言语法的表达式是( )。

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

x%(-3);

a=a*3=2

y=float(i)

~A

~~~2

假定有以下变量定义:int k=7,x=12;则能使值为3 的表达式是( )。

x%=(k%=5)

x%=(k-k%5)

x%=k-k%5

(x%=k)-(k%=5)

~D

~~~2

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

输入项可以是一个实型常量,如:scanf("%f",3.5);

只有格式控制,没有输入项,也能正确输入数据到内存,例如:scanf("a=%d,b=%d");

当输入一全实型数据时,格式控制部分可以规定小数点后的位数,例如:scanf("%4,2f",&.f); 当输入数据时,必须指明变量地址,例如:scanf("%f",&f);

~D

~~~2

设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是( )。

把x和y按从大到小排列

把x和y按从小到大排列

无确定结果

交换x和y中的值

~D

~~~2

以下程序段的输出结果是:( )。int a=12,b=12;printf("%d %d\n",--a,++b);

10 10

12 12

11 10

11 13

~D

~~~2

编制好的程序时,应强调良好的编程风格,如,选择标识符的名字时应考虑( )。

名字长度越短越好,以减少源程序的输入量

多个变量共用一个名字,以减少变量名的数目

选择含义明确的名字,以正确提示所代表的实体

尽量用关键字作名字,以使名字标准化

~C

~~~3

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

本程序的main函数开始,到main函数的结束

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

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

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

~A

~~~3

以下叙述正确的是( )。

在C程序中main函数必须位于程序的最前面

C程序的每行中只能写一条语句

C语言本身没有输入输出语句

在对一个C程序进行编译的过程中,可发现注释中的错误

~C

~~~3

C语言规定,在一个源程序中,main函数的位置( )。

必须在最开始

必须在系统调用的库函数的后面

可以任意

必须在最后

~C

~~~3

结构化程序设计所规定的三种基本结构是( )。

主程序、子程序、函数

树形、网形、环形

顺序、选择、循环

输入、处理、输出

~C

~~~4

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

C语句必须以分号结束

复合语句在语法上被看作一条语句

空语句出现在任何位置都不会影响程序运行

赋值表达式末尾加分号就构成赋值语句

~C

~~~4

当把以下四个表达式用做if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是( )。

K%2

K%2==1

(K%2)!=0

!K%2==1

~D

~~~4

下面有关for循环的正确描述是( )。

for循环只能用于循环次数已经确定的情况。

for循环是先执行循环体语句,后进行循环条件判断。

在for语句中,不能用break语句跳出循环体。

for循环体语句中,可以包含多条语句,但要用花括号括起来。

~D

~~~4

设变量已正确定义,则以下能正确计算f=n! 的程序段是( )。

f=0; for(i=1;i<=n;i++)f*=n;

f=0;for(i=1;i<=n;i++) f*=i;

f=1;for(i=n;i>1;i++)f*=i;

f=1; for(i=n;i>=2;i--)f*=i;

~D

~~~4

C语言中下列叙述正确的是( )。

不能使用do-while语句构成的循环

do-while语句构成的循环,必须用break语句才能退出

do-while语句构成的循环,当while语句中的表达式值为非零时结束循环

do-while语句构成的循环,当while语句中的表达式值为零时结束循环

~D

~~~4

以下程序段输出结果是:( )。int m=5;if (m++>5) printf("%d\n",m);else printf("%d\n",m--); 7

6

5

4

~C

~~~4

当执行以下程序段时:( )。x=-1; do {x=x*x;}while(!x);

循环体将执行两次

循环体将执行一次

循环体将执行无限次

系统将提示有语法错误

~B

~~~4

执行以下程序段后,输出的结果是( )。int y=10;do {y--;} while (--y);print("%d\n",y--);

-1

1

8

~D

~~~4

为了避免嵌套的if-else语句的二义性,C语言规定else总是与( )组成配对关系。

缩排位置相同的if

与其之前未配对的if

与其之前未配对的最近的if

同一行上的if

~C

~~~4

有以下程序int i,s=0;for(i=1;i<10;i+=2) s+=i+1;printf("%d\n",s);执行后的输出结果是( )。

自然数1~9的累加和

自然数1~10的累加和

自然数1~9中的奇数之和

自然数1~10中的偶数之和

~~~5

以下关于函数的叙述中正确的是( )。

每个函数都可以被其他函数调用(包括main函数)

每个函数都可以被单独编译

每个函数都可以单独运行

在一个函数内部可以定义另一个函数

~B

~~~5

设函数FUN的定义形式为:void fun(char ch,float x){……………}以下对函数的调用语句中,正确的是( )。

fun("abc",3.0);

t=fun("abc",16.5);

fun('65',2.8);

fun(32,32);

~D

~~~5

在C程序中,若对函数类型未加说明,则函数的隐含类型为( )。

int

double

void

char

~A

~~~5

简单变量做实参时,它相对应形参之间的数据传递方式是( )。

地址传递

单向值传递

由实参传给形参,再由形参传回给实参

由用户指定传递方式

~B

~~~5

建立函数的目的选项是( )。

提高程序的执行效率

提高程序的可读性

减少程序的篇幅

减少程序文件所占内存

~B

~~~5

下面关于递归的说法错误的是( )。

每次当一个递归函数被调用时, 程序首先应该检查其些基本的条件是否满足了, 例如某个参数的值等于零, 函数应停止递归;

每次当函数被递归调用时, 传递给函数一个或多个参数, 应该以某种方式变得"更简单";

一般情况下, 递归方法比迭代方法快;

递归函数的目的是执行一系列调用, 一直到达某一点, 序列终止。

~~~5

下面说法正确的是( )。

函数定义可以嵌套,但函数调用不能嵌套

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

函数定义和调用均不能嵌套

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

~B

~~~5

若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是( )。

函数调用可以作为独立的语句存在

函数调用可以作为一个函数的实参

函数调用可以出现在表达式中

函数调用可以作为一个函数的形参

~D

~~~5

以下关于说法正确的是( )。

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

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

实参和与其对应的形参同名时才共占用存储单元

形参虚拟的,不占用存储单元

~A

~~~5

若调用一个函数(无全局、指针、静态变量),且此函数中没有return语句,则关于该函数正确的说法是( )。

无返回值

返回若干个系统默认值

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

返回一个不确定的值

~A

~~~5

在c语言中以下不正确的说法是( )。

实参可以是常量、变量或表达式

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

实参可以为任意类型

形参应与其对应的实参类型一致

~B

~~~5

下列程序段的输出结果是( )。#define M(x,y) x*y printf("%d",M(10+2,2));

14

24

50

32

~A

若程序中定义了以下函数:double myadd(double a,double b){ return (a+b);}并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是( )。

double myadd(double a,b);

double myadd(double,double);

double myadd(double b,double a);

double myadd(double x,double y);

~A

~~~5

程序设计中,以下错误的描述是( )。

在函数之外定义的变量称为外部变量,外部变量是全局变量

在一个函数中既可以使用本函数中的局部变量,又可以使用外部变量

外部变量定义和外部变量说明的含义不同

若在同一个源文件中,外部变量与局部变量同名,则在局部变量的作用范围内,外部变量不起作用

~A

~~~5

程序设计中,建立函数的首要目的是( )。

减少程序的运行时间

提高程序的可读性

减少程序的篇幅

减少程序运行时文件所占内存

~B

~~~5

程序设计中,下列结论只有一个是正确的,它是( )。

在递归函数中使用自动变量要十分小心,因为在递归过程中,不同层次的同名变量在赋值的时候一定会相互影响

在递归函数中使用自动变量要十分小心,因为在递归过程中,不同层次的同名变量在赋值的时候可能会相互影响

在递归函数中使用自动变量不必担心,因为在递归过程中,不同层次的同名变量在赋值的时候肯定不会相互影响

在程序设计语言中无法得出以上结论之一

~C

~~~5

下面关于变量的说法错误的是( )。

全局变量是所有在函数和类外定义的变量

局部变量是在块或函数中定义的变量

在同一作用域内变量不能同名

变量作用域不能重叠

~D

~~~5

下面关于变量的生存周期的说法错误的是( )。

全局变量的生存周期从程序运行开始到程序结束

局部变量的生存周期从块或函数的开始到块或函数的结束

静态局部变量的生存周期与全局变量相同

静态全局变量的作用域是整个程序

~D

~~~6

下列数据结构中,能用二分法进行查找的是( )。

顺序存储的有序线性表(数组)

线性链表

二叉链表

有序线性链表

~A

~~~6

数组名作为参数传递给函数,作为实在参数的数组名被处理为( )。

该数组的元素个数

该数组中各元素的值

该数组的首地址

以上答案均不对

~C

~~~6

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

无须在主调函数中说明此数组的大小

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

在被调用函数中,不需要考虑形参数组的大小

实参数组名与形参数组名必须一致

~C

~~~6

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

将串str1复制到串str2中后在连接到串str3之后

将串str1连接到串str2之后再复制到串str3之后

将串str2复制到串str1中后再将串str3连接到串str1之后

将串str2连接到串str1中后再将串str1复制到串str3中

~C

~~~6

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

字符型数组中可以存放字符串

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

可以对整型数组进行整体输入、输出

不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值~C

~~~6

设有数组定义: char array [ ]="HELLO"; 则数组array的长度为( )。

4

5

6

7

~~~6

以下不能正确进行字符串赋初值的语句是( )。

char str[5]="good!";

char str[]="good!";

char *str="good!";

char str[5]={'g','o','o','d'};

~A

~~~6

当调用函数时,实参是一个数组名,则向函数传送的是( )。

数组的长度

数组的首地址

数组每一个元素的地址

数组每个元素中的值

~B

~~~6

下面正确进行字符串赋值操作的语句是( )。

char s[5]=["ABCDDE"];

char s[4]={'A','B','C','D','E'};

char *s;s="ABCDEF";

char *s; scanf("%s",s);

~C

~~~6

有以下程序:char a[]="abcdefg",b[10]="abcdefg";printf("%d %d\n",sizeof(a),sizeof(b));执行后输出结果是( )

7 7

8 8

8 10

10 10

~C

~~~6

以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是( )。

char s[10]="abcdefg";

char t[]="abcdefg",*s=t;

char s[10];s="abcdefg";

char s[10];strcpy(s,"abcdefg");

~C

~~~6

若有以下程序段:int a[5] = {1,2,3,4,5}; int *p = a;则以下说法正确的是()

a可以做自增运算,即有a++;

p可以做自增运算,即有p++;

a和p都可以做自增运算,即有a++和p++;

a和p都不能做自增运算。

~B

若有语句:char *LINE[5];以下叙述中正确的是( )。

定义LINE是一个数组,每个数组元素是一个基类型为char的指针变量

定义LINE是一个指针变量,该变量可以指向一个长度为5的字符型数组

定义LINE是一个指针数组

定义LINE是一个指向字符型函数的指针

~A

~~~7

设有定义,int n1=0,n2,*p=&n2,*q=&n1; 以下赋值语句中与n2=n1;语句等价是( )。

*p=*q;

p=q;

*p=&n1;

p=*q;

~A

~~~7

若有定义:int x=0,*p=&x;则语句printf("%d\n",*p);的输出结果是( )。

随机值

x的地址

p的地址

~B

~~~7

有以下程序: main( ) { int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],*q=p-2; printf("%d\n",*p+*q); } 程序运行后的输出结果是( )。

16

10

8

6

~D

~~~7

已定义以下函数: int fun(int *p) { return *p; } 该函数的返回值是( )。

不确定的值

形参p中存放的值

形参p所指存储单元中的值

形参p的地址值

~C

~~~7

若己定义:int a[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是( )。

p+l

a+l

a++

++p

~C

若有说明语句:int a,b,c, *d=&c;则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是( )。

scanf("%d%d%d",&a,&b,d);

scanf("%d%d%d",&a,&b,&d);

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

scanf("%d%d%d",a , b,*d);

~A

~~~7

设已有定义: char *st="how are you"; 下列程序段中正确的是( )。

char a[11], *p=a; strcpy(p,&st[4]);

char a[11]; strcpy(++a, st);

char a[11]; a=st;

char a[], *p; strcpy(p=&a[1],st+2);

~D

~~~3

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

C语言中对二进制文件的访问速度比文本文件快

C语言中,随机文件以二进制代码形式存储数据

语句FIEL FP ;定义了一个名为FP的文件指针

C语言中的文本文件以ASCII码形式存储数据

~C

~~~3

通常,文件的逻辑结构可以分为无结构的______和有结构的记录式文件。

堆文件

流式文件

索引文件

直接(Hash)文件

~B

~~~3

通常,文件的逻辑结构可以分为两大类:无结构的流式文件和有结构的______文件。

记录式文件

流式文件

索引文件

直接(Hash)文件

~A

~~~3

在文件系统中最大的数据单位是( )。

数据项

记录

文件

数据库

~C

同济大学C语言期末考试卷

同济大学C语言期末考试卷 2005-2006学年第二学期《C程序设计期末试卷》(闭卷) 一、单项选择题(20分) 1. 在定义函数时,能用以下(1) 标识符作函数名。 A.struct B._abc C. 8abc D. abc@https://www.wendangku.net/doc/dd6047769.html, 2在一个函数被调用执行过程中,当执行到函数体中(2) 语句后立即无条件返回主调函数。 A.goto B.break C.continue D.return 3.以下关于main函数定义的叙述中,错误的是(3) 。 A. main函数是自定义函数,因此函数体中的声明和语句都是可选的 B. main函数定义时可以有形式参数也可以没有形式参数 C. main函数定义必须出现在一个源程序的起始位置 D. 在一个源程序中只能有一个main函数定义 4.以下函数定义中正确的是(4) 。 A. double fun(intx,y){ return x*y;} B. double fun(intx,int x){ return x*x; } C. double fun(register intx,int y){ return x*x;} D. double fun(extern intx,int y){ return x*y;} 5.若函数定义为void fun(intx,inty,int *p) { *p= x>y ? x : y; },且main函数中有声明“int a=1,b=2,c[2]={0};”,则以下语句中正确的是(5) 。 A.printf(“%d”,fun(a,b,c)); B.fun(a,b,c+1); C.fun(a,b,c[2]); D.fun(1,2); 6. 若函数定义为double fun(double x,double y){ return x/y;},则以下fun引用声明(函数原型)中错误的是(6) 。 A. double fun(double x,double y); B. double fun(double a,double b); C. double fun(double ,double ); D. float fun(double x,double y); 7.以下程序段中,有语法错误的是。 A. double f; double f (double x) { return f=x*x; } C. double f (double x) { double f; return f=x*x; } B. double f (double f) { return f*f;} D. double f (double x) { if(x>0){ double f ; return f=x;} else{ double f ; return f= -x;} } 8.以下一维数组声明中,正确的是(8) 。 A. int a[ ]; B.int b[10],a[b]; C. int a[4]={1,2,3,4,5}; D. int a[sizeof('a')]={'a'};

大一C语言期末考试题

大一C语言期末考试题 悬赏分:40 |解决时间:2010-6-29 14:28 |提问者:345387547 1. 数组int a[3][5]; 共定义了______15__个元素。 2. 有float f= 3.1415927; 则printf(“%5.4f”, f );输出的结果是___3.1416__。 3. 下面程序的功能是:输出100以内(不包含100)能被3整除且个位数为6的所有整数,请填空。 main( ) { int i; for(i=1; __i<100 ___; i++) if (_(i%3==0)&&(i%10==6)_) printf("%d", i); } 4. 设有“int x=2, y”说明,则逗号表达式“y=x+5,x+y”的值是____7____ 5. 以下是使用指针,进行字符串复制的程序,请填空。 main() { char a[]= “Tsinghua University”, b[30], *p1,*p2; p1=a; p2=b; for(; *p1!= __'\0'____; p1++, p2++) *p2 _=_*p1; *p2= ___'\0'______; printf(“string a is:%s\n”,a); printf(“string b is:%s\n”,b); } 6. 下面程序用冒泡法对数组a进行降序排序,请填空。 main() { int a[5]={4,7,2,5,1}; int i,j,m; for(i=0;i<4;i++) for(j=0;j<____4____;j++) if( a[j]

江苏大学大一c语言期末复习题汇总

选择题1.下列字符序列中,不可用作C语言标识符的是()。 A.abc123 B.C._123_ D._ok 2.请选出可用作C语言用户标识符的一组标识符()。 A.void B.a3_b3 C.For D.2a define _123 -abc DO WORD IF Case sizeof 3.不属于C语言关键字的是()。 A.int B.break C.while D.character 4.以下不能定义为用户标示符的是()。 A.scanf B.Void C._3com_ D.int 5.C语言程序的基本单位是()。 A.程序行B.语句C.函数D.字符 6.以下说法中正确的是()。 A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main( )函数中定义 C.C语言程序总是从main( )函数开始执行 D.C语言程序中的main( )函数必须放在程序的开始部分 7.以下选项中,合法的用户标识符是()。 A.long B._2abc C.3dmax D. 8.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示 的字符常量’\101’是()。 A.字符A B.字符a C.字符c D.非法的常量 9.以下选项中,正确的字符常量是()。 A.”F”B.’\\’’C.’W’D.’’ 10.下列变量定义中合法的是 A.short _a=; B.double b=1+; C.long do=0xfdaL; D.float 2_and=1-e-3; 11.为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。 A.缩排位置相同的if B.在其之前未配对的if C.在其之前未配对的最近的if D.同一行上的if 12.下列运算符中优先级最高的是()。 A.< B.&& C.+ D.!= 13.判断char型变量s是否为小写字母的正确表达式是()。 A.’a’ <= s<=’z’B.(s>=’a’) & (s<=’z’) C.(s>=’a’) && (s<=’z’) D.(’a’<=s) and (’z’>=s)

大学大一C语言程序设计期末考试试卷和答案

四川师范大学计算机科学学院 2012~2013学年度第二学期期末考试 C 语言程序设计试卷 试卷A 答卷说明: 1、 本试卷共6页,答题纸3页,4个大题,35个小题,满分100 分,120分钟完卷。 2、 闭卷考试,所有的答案都必须写在答题纸上,判卷以答题纸上 答案为准。 3、 本试卷适用于2011级1、2、3班。 一、 单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的 序号填在题干的括号内。每小题1分,共20分) 1、 在C 语言中,下列标识符中合法的是( ) A). -int B). in1_3 C). A_B!D D). const 2、 不属于C 语言基本数据类型的是( ) A). int B). union C). char D). unsigned 3、 下面是对宏定义的描述。不正确的是( ) A). 宏不存在类型问题,宏名无类型,它的参数也无类型 B). 宏替换不占用运行时间 C). 宏替换只是字符串的简单替代 D). 宏替换时先检查类型,类型一致时才可以替换 4、 C 语言中,″\\xfds ″在内存中占用的字节数是( ) __________________学院__________级___________班 姓名_______________ 学号_______________ ………………………………(密)………………………………(封)………………………………(线)……………………………… 密 封 线 内 答 题 无 效

A).3 B).4C).5D).6 5、设int x;则执行printf(″%x\n″,~x^x);的结果是() A). ffffffff B). ff C).0D). 1 6、对于while语句,错误的说法是() A).用条件控制循环体的执行次数B).循环体至少要执行一次 C).循环体有可能一次也不执行D).循环体中可以包含若干条语句 7、执行下列语句后输出的结果是() int a=8,b=7,c=6; if(ac){a=c;c=b;} printf("%d,%d,%d\n",a,b,c); A).6,7,7B).6,7,8C).8,7,6D).8,7,8 8、设int a=9,b=20;则printf(″%d,%d\n″,a--,--b);的输出结果是() A).9,19B).9,20C).10,19D).10,20 9、设static char x[ ]=″12345″,y[ ]={′1′,′2′,′3′,′4′,′5′,′\0′};那么() A).x数组的长度等于y数组的长度B).x数组的长度大于y数组的长度 C).x数组的长度少于y数组的长度D).x数组与y数组的存储区域相同 10、设int i,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是() for(i=0;i<3;i++) printf(″%d″,x[i][2-i]); A).147B).159C).357D).369 11、执行完下列语句后,n的值是() int n; for (n=0 ; n<100 ; n=2*n+1); A).125B).126 C).127D).128 12、有以下语句:int a=6;a+=a-=a*a;printf(“%d”,a);输出结果() A).–132 B).–60 C). -24 D). 0 13、为了连接两个字符串s1与s2,应当使用() A). strcat( s1,s2 ) B). strcpy( s1, s2 ) C). strlen( s1, s2 ) D). strcmp( s1, s2 ) 14、设int a,*p;则语句p=&a;中的运算符“&”的含义是() A).位与运算B).逻辑与运算C).取指针内容D).取变量地址 15、下面输出的结果为() i nt a=13, b=64; printf(“%d\n”, !a || (b>>3) );

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

《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) 与机器字长有关

大一C语言期末考试试题

6.以下程序的输出结果为(D)。 main( ) { char c; int i; for(i=65;i<68;i++) { c=i+32; switch(c) { case ‘a’:printf("%c,",c);break; case ‘b’:case ‘e’:printf("ok,"); default: printf("end"); } } } A a,ok,end B a,ok,endend C a,ok,end,end D a,ok,ok 9.以下程序的输出结果为(B)。 #define A 3 #define B(a) (A+1)*a main() { int x; x=3*A+B(7); printf("x=%d\n",x); } A x=93 B x=37 C x=60 D x=90 三写出下列程序的运行结果(10分,每小题2分) 1.main( ) { char c1=‘A’,c2=‘\144’,c3=‘\x44’,c=0xf5,x=13,a; int i=0122,j=0xa4; printf(“c1=%c,c4=%c\tc5=%c\n”,c1,c2,c3); printf(“%d,%d\n”,i,j); i=-34; j=20; printf(“%d,%d,%d\n”,i%j,i&j<<2,sizeof(j)); printf(“c=%d\n”,c|x); a=c^x<<2;

printf(“a=%d\n”,a); } 2.main() { int x,y=1,z=10; if(y!=0) x=5; printf(“x=%d\t”,x); x=1; if(z<0) if(y>0) x=3; else x=5; printf(“x=%d\n”,x); if(z=y<0) x=3; else if(y==0) x=5; else x=7; printf(“x=%d\t”,x); printf(“z=%d\n”,z); } 3.main( ) { char s[20]=“I like it.”,t[20]=“Are you?”,c[20]; int i=0; while(s[++i]!=‘\0’) t[i]=s[i]; t[i]=0; printf(“string s:%s\n”,s); printf(“string t:%s\n”,t); } 4.int i=5; main( ) { int i=3; { int i=10; i++; printf(“%d\n”,i);

大一上学期C语言期末复习总结和模拟试题带答案

易错点 C语言中易犯的错误 对初学C语言的人来说,经常会出一些连自己都不知道错在哪里的错误.看着有错的程序,不知该如何改起,一些C编程时常犯的错误,写给各位学员以供参考. ******************************** ******************************** ************************ 1.书写标识符时,忽略了大小写字母的区别. main() { int a=5; printf("%d",A); } 编译程序把a和A认为是两个不同的变量名,而显示出错信息. C认为大写字母和小写字母是两个不同的字符.习惯上,符号常量 名用大写,变量名用小写表示,以增加可读性. ******************************** ******************************** ************************ 2.忽略了变量的类型,进行了不合法的运算. main() { float a,b; printf("%d",a%b); } %是求余运算,得到a/b的整余数.整型变量a和b可以进行求余运算,而实型变量则不允许进行"求余"运算. ******************************** ******************************** ************************ 3.将字符常量与字符串常量混淆. char c; c="a"; 在这里就混淆了字符常量与字符串常量,字符常量是由一对单 引号括起来的单个字符,字符串常量是一对双引号括起来的字符序 列.C规定以"\"作字符串结束标志,它是由系统自动加上的,所 以字符串"a"实际上包含两个字符:'a'和'\',而把它赋给一 个字符变量是不行的. ******************************** ******************************** ************************ 4.忽略了"="与"=="的区别. 在许多高级语言中,用"="符号作为关系运算符"等于". 如在BASIC程序中可以写 if (a=3) then … 但C语言中,"="是赋值运算符,"=="是关系运算符.如: if (a==3) a=b; 前者是进行比较,a是否和3相等,后

昆明理工大学C语言期末考题库

昆明理工大学C语言期末考题库一个数组中的所有元素可以具有不相同的数据类型。选择一项: 对 错 C语言中,do-while语句构成的循环只能用break语句退出。选择一项: 对 错 数组名作为函数的参数时,实参数组和形参数组共用相同的内存单元。 选择一项: 对 错 已知字符数组str1的初值为"China",则语句str2=str1;执行后字符数组str2也存放字 符串"China"。 选择一项: 对 错 论使用何种参数传递方式,形参变量值的改变都不影响实参变量的值。 选择一项:

对 错 以下有关宏替换的叙述不正确的是_______。选择一项: a. 宏替换不占用运行时间 b. 宏替换只是字符替换 c. 宏名无类型 d. 宏名必须用大写字母表示 结构体可以定义在单独的头文件中,使用时需要在对应C文件中包含该头文件。 选择一项: 对 错 可以用swicth结构实现的程序都可以使用if语句来实现。选择一项: 对 错 下面对typedef的叙述中不正确的是_______。 选择一项: a. typedef只是将已存在的类型用一个新的标识符来代表

b. 用typedef可以增加新类型 c. 用typedef可以定义各种类型名,但不能用来定义变量 d. 使用typedef有利于程序的通用和移植 枚举类型时一种基本的数据类型。 选择一项: 对 错 switch语句的结束发生在break;语句的执行或者switch语句的“}”。选择一项: 对 错 f(int a) { int b=0;static int c=3; b++; c++; return(a+b+c); } 选择一项: a. 7 7 7 b. 7 8 9 c. 7 10 13 d. 7 9 11

(完整word版)大一c语言考试试题

一、单项选择题(每小题2分,共50分) 1、一个C程序的执行是从___A__。 A、本程序的main函数开始,到main函数结束 B、本程序的main函数开始,到本程序文件的最后一个函数结束 C、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 D、本程序文件的第一个函数开始,到本程序main函数结束 2、C语言程序的基本单位是___C___。 A、程序行 B、语句 C、函数 D、字符 3、请选出可用作C语言用户标识符的一组标识符___B___。 A、void B、a3_b3 C、For D、2a define _123 -abc DO WORD IF ase sizeof 4、假定x和y为double型,则表达式(x=2,y=x+5/2)的值是__C__ 。 A、4.500000 B、4 C、4.000000 D、2.000000 5、下列可以正确表示字符型常量的是___D__。 A、297 B、"a" C、"\n" D、'\t' 6、在C语言中,要求运算数必须是整型的运算符是__D__。 A、/ B、++ C、*= D、% 7、C语言中,复合语句的构成是将一系列语句置于__C__。 A、begin与end之间 B、方框号“[ ]”之间 C、花括号“{ }”之间 D、圆括号“( )”之间 8、有如下程序段,对应正确的数据输入是___A___。 float x,y; scanf(”%f%f”, &x,&y); printf(”a=%f,b=%f”, x,y); A、2.04<回车> B、2.04,5.67<回车> 5.67<回车> C、A=2.04,B=5.67<回车> D、2.045.67<回车> 9、以下程序段的输出结果是___D__。 int a=5678; printf(”%2d\n”, a); A、提示出错、无结果 B、56 C、78 D、5678 10、已知:char ch='A';则下列表达式的值是__B__。 ch = (ch>='A'&&ch<='Z') ? (ch+32) : ch; A、A B、a C、Z D、z

大一c语言期末考试题

大一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;

大学C语言期末考试练习题(带详解答案)

一、单项选择题 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语言编程重点复习题

输出众数: int main() {int a[10],b[10]={0}; int i,j,max; for(i=0;i<10;i++) scanf("%d",&a[i]); for(i=0;i<10;i++) for(j=i;j<10;j++) if(a[i]==a[j]) b[i]++; max=b[0]; for(i=0;i<10;i++) if(b[i]>max) max=b[i]; if(max==1) printf("No"); else for(i=0;i<10;i++) if(b[i]==max) printf("%d,%d\n",a[i],b[i]);

return 0; } 平方数: #include int main() { int i,a,b; for(i=1000;i<=9999;i++) { a=i/100; b=i%100; if(i==(a+b)*(a+b)) printf("%d\n",i);} return 0; } 排序:由小到大 #include int main()

int i,j,t; for(i=0;i<10;i++) scanf("%d",&a[i]); for(j=0;j<9;j++) for(i=0;i<9-j;i++) if(a[i]>a[i+1]) { t=a[i];a[i]=a[i+1]; a[i+1]=t; } for(i=0;i<9;i++) printf("%d\n",a[i]); printf("%d",a[9]); return 0; } # {

江苏大学大一c语言期末复习题汇总

选择题 1.下列字符序列中,不可用作C语言标识符的是()。 A.abc123 B.no.1 C._123_ D._ok 2.请选出可用作C语言用户标识符的一组标识符()。 A.void B.a3_b3 C.For D.2a define _123 -abc DO WORD IF Case sizeof 3.不属于C语言关键字的是()。 A.int B.break C.while D.character 4.以下不能定义为用户标示符的是()。 A.scanf B.V oid C._3com_ D.int 5.C语言程序的基本单位是()。 A.程序行B.语句C.函数D.字符 6.以下说法中正确的是()。 A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main( )函数中定义 C.C语言程序总是从main( )函数开始执行 D.C语言程序中的main( )函数必须放在程序的开始部分 7.以下选项中,合法的用户标识符是()。 A.long B._2abc C.3dmax D.A.dat 8.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示 的字符常量’\101’是()。 A.字符A B.字符a C.字符c D.非法的常量 9.以下选项中,正确的字符常量是()。 A.”F”B.’\\’’C.’W’D.’’ 10.下列变量定义中合法的是 A.short _a=1-.le-1; B.double b=1+5e2.5; C.long do=0xfdaL; D.float 2_and=1-e-3; 11.为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。 A.缩排位置相同的if B.在其之前未配对的if C.在其之前未配对的最近的if D.同一行上的if 12.下列运算符中优先级最高的是()。 A.< B.&& C.+ D.!= 13.判断char型变量s是否为小写字母的正确表达式是()。 A.’a’ <= s<=’z’B.(s>=’a’) & (s<=’z’) C.(s>=’a’) && (s<=’z’) D.(’a’<=s) and (’z’>=s) 14.已知x=45, y=’a’, z=0; 则表达式(x>=z && y<’z’ || !y)的值是()。 A.0 B.语法错 C.1 D.“假”

大一C语言期末考试参考资料(个人推荐)

C 语言总复习 总体上必须清楚的: 1)程序结构是三种: 顺序结构 , 循环结构 (三个循环结构), 选择结构 (if 和 switch) 2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。 3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是他的地址. 4)bit是位是指为0 或者1。 byte 是指字节, 一个字节 = 八个位. 5)一定要记住二进制如何划成十进制。 概念常考到的: 1、编译预处理不是C语言的一部分,不再运行时间。C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。 2、每个C语言程序中main函数是有且只有一个。 3、在函数中不可以再定义函数。 4、算法的是一定要有输出的,他可以没有输入。 5、break可用于循环结构和switch语句。 6、逗号运算符的级别最低。 第一章 1)合法的用户标识符考查: 合法的要求是由字母,数字,下划线组成。有其它元素就错了。 并且第一个必须为字母或则是下划线。第一个为数字就错了。 关键字不可以作为用户标识符号。main define scanf printf 都不是关键字。迷惑你的地方:If是可以做为用户标识符。因为If中的第一个字母大写了,所以不是关键字。 2)实型数据的合法形式: 2.333e-1 就是合法的,且数据是2.333×10-1。 考试口诀:e前e后必有数,e后必为整数。. 3)字符数据的合法形式:: '1' 是字符占一个字节,"1"是字符串占两个字节(含有一个结束符号)。 '0' 的ASCII数值表示为48,'a' 的ASCII数值是97,'A'的ASCII数值是65。 4)整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节: 考试时候一般会说,在16位编译系统,或者是32位系统。碰到这种情况,不要去管,一样做题。掌握整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节就可以了。 5)转义字符的考查: 在程序中 int a = 0x6d,是把一个十六进制的数给变量a 注意这里的0x必须存在。 在程序中 int a = 06d, 是一个八进制的形式。 在转义字符中,’\x6d’才是合法的,0不能写,并且x是小写。 ‘\141’是合法的, 0是不能写的。 ‘\108’是非法的,因为不可以出现8。 6)算术运算符号的优先级别: 同级别的有的是从左到右,有的是从右到左。 1级优先级左结合 () 圆括号 [] 下标运算符 -> 指向结构体成员运算符 . 结构体成员运算符 2级优先级右结合 ! 逻辑非运算符 ~ 按位取反运算符

大一c语言期末试题及参考答案word版本

2004级信息学院《C语言设计》考试试题 一、判断下列语句或程序的对错。 10分√ 1 int x=y=z=’0’; (×) y,z没有定义 2 #include ; (×)不能有分号,#开头的结尾均不能有分号; 3 printf(“%s\n”,”c language”); (√) 4 float a[100]; int *p=a; (×)数据类型不匹配 5 char str[20]; 6 int data[4]={0,1,2,3,4}; (×)五个元素,但是只有四个单元 7 float x=1.45e+310L; (×)数值越界 8 int xyz-1=2; (×) 9 int x=‘\xae’ ; (√) 10 int *p,a[2][3] ; p=a ; (×)数据类型不匹配 二计算下列表达式的值 10分 设 unsigned int a=10,b=17,c=5,d=3; float f ; (1)f=b/c ( 3.0 ) (2)!(a+b)+c-1&&b+c/2 ( 1 ) (3)(a^b)+(c>>1+d) ( 0x1b ) (4)a+=b%=a=b ( 17 ) (5)a=2,b=a*++b ( 2 ) 三程序改错 10分 (1)求两个浮点数的平方和及平方差 #include float calculate (float x,float y,float *sub);添加函数原型声明 main () { float a,b; float add_reasult, sub_result; scanf (“%f,%f”,a,b); add_result=calculate(a,b,&sub_result); printf( “a*a+b*b=%d,a*a-b*b=%d\n”,add_result,sub_result); } float calculate (float x,float y,float *sub) 添加函数类型 { float *temp; 应该直接定义为变量float temp; sub=a*a-b*b ; *sub=a*a-b*b;

大一c语言考试试题

单 项 选 择 题 ( 每 小 题 2 分 1、 一个C 程序的执行是从 A 。 A 、 本程序的main 函数开始,到main 函数结束 B 、 本程序的main 函数开始,到本程序文件的最后一个函数结束 C 、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 D 、本程序文件的第一个函数开始,到本程序 main 函数结束 2、 C 语言程序的基本单位是 C 。 A 、 程序行 B 、语句 C 、 函数 D 、字符 3、 请选出可用作 C 语言用户标识符的一组标识符 __B___。 A 、 void B 、 a3_b3 C 、 For D 、 2a define _ 123 -abc DO WORD IF ase sizeof 4、假定x 和y 为double 型,则表达式(x=2,y=x+5/2)的值是__C A 、4.500000 B 、4 C 、 4.000000 5、下列可以正确表示字符型常量的是 ___D C 、 "\n" D 、 '\t' 6、在C 语言中,要求运算数必须是整型的运算符是 __D, 、 ++ 7、C 语言中,复合语句的构成是将一系列语句置于 __C A 、 begin 与 end 之间 B 、方框号“ [ ] ”之间 C 、花括号“ { } ”之间 D 、圆括号“ ( ) ”之 间 8、有如下程序段,对应正确的数据输入是 ___A___。 float x,y; scanf( ”%f%f ” , &x,&y); printf( ”a=%f,b=%f ”, x,y); A 、 2.04<回车> B 、 2.04,5.67< 回车> 5.67< 回车> C 、 A=2.04,B=5.67< 回车> D 、 回车> 9、以下程序段的输出结果是 __ _D__。 int a=5678; printf( ”%2dn ”, a); A 、提示出错、无结果 B 、 56 C 、 78 D 、 5678 10、已知: char ch='A' ;则下列表达式的值是 __B ch = (ch>='A'&&ch<='Z') ? (ch+32) : ch; A 、A B 、a C 、Z D 、z 11、下列描述,正确的是 ___B__ 。 、 2.000000 A 、 297 B 、 "a

大一C语言试题

c语言考试模拟试题 本卷共有4道大题: 一、单项选择题(20道小题,共20分) 1、以下叙述中不正确的是( c)(1分) A、在不同的函数中可以使用相同名字的变量 B、函数中的形式参数是局部变量 C、在一个函数内定义的变量只在本函数范围内有效 D、在一个函数内的复合语句中定义的变量在本函数范围内有效 2、有以下函数定义:void fun(int n, double x) { ……} 若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是(b )(1分) A、fun(int y,double m); B、k=fun(10,12.5); C、fun(x,n); D、void fun(n,x); 3、给出以下定义:char x[]="abcdefg";char y[]={'a','b','c','d','e','f','g'};则正确的叙述为( )(1分) A、数组x和数组y等价 B、数组x和数组y的长度相同 C、数组x的长度大于数组y的长度 D、数组x的长度小于数组y的长度 4、设有如下定义:struct op{int i:float k;}self,*p; 若有p=&self;则对self中的i域的正确引用是( )(1分) A、(*p).self.i B、(*p).i C、p->self.i D、p.self.i 5、设有如下定义:int (*ptr)();则以下叙述中正确的是( )(1分) A、ptr是指向一维组数的指针变量 B、ptr是指向int型数据的指针变量 C、ptr是指向函数的指针,该函数返回一个int型数据 D、ptr是一个函数名,该函数的返回值是指向int型数据的指针 6、C语言标准库函数"fgets(string,n,fp)"的功能是( )(1分) A、从文件fp中读取长度为n的字符串存入指针string指向的内存 B、从文件fp中读取长度不超过n-1的字符串存入指针string指向的内存 C、从文件fp中读取n个字符串存入指针string指向的内存 D、从文件fp中读取不超过长度为n的字符串存入指针string指向的内存 7、设int类型的数据长度为2个字节,则unsigned int类型数据的取值范围是( )(1分) A、0至255 B、0至65535 C、-256至255 D、-32768至32767 8、假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是( )(1分) A、3 B、6 C、10 D、20 9、函数调用:strcat(strcpy(str1,str2),str3)的功能是( )(1分)

湖南工业大学C语言期末考试复习题(机房题库)

C语言期末考试复习题(机房题库) 2、下列各选项中,合法的c语言关键字是( )。 A. integex B. sin C. string D. void参考答案: D 3、C语言的程序一行写不下时,应该( )。 A. 用回车符换行 B. 在任意一个空格处换行 C. 用分号换行 D. 用逗号换行答案: B 4、以下选项中正确的整型常量是( )。 A. 34.1 B. -80 C. 2,000 D. 1 2 3参考答案: B 5、在C程序中,可以作为用户标识符的一组标识符是( )。 A. void define WORD B. as_b3 _224 Else C. switch _wel ease D. 4b DO SIG答案: B 8、以下叙述不正确的是( ) A. 一个c源程序可由一个或多个函数组成 B. 一个C源程序必须包含一个main()函数 C. c程序的基本组成单位是函数 D. 在C程序中,注释说明只能位于一条语句的后面答案: D 9、C语言规定:在一个源程序中,main()函数的位置( ) A. 必须在最开始 B. 必须在系统调用的库函数的后面 C. 可以任意 D. 必须在最后参考答案: C 10、在C语言中,数字029是一个() A. 八进制数 B. 十六进制数 C. 十进制数 D. 非法数参考答案: D 12、C语言可执行程序的开始执行点是( ) A. 程序中的一条可执行语句 B. 程序中第一个函数 C. 程序中的main函数 D. 包含文件中的第一个函数参考答案: C 13、C程序是( ) A. 顺序执行 B. 从Main函数开始 C. 从函数体开始 D. 任意语句参考答案: B 16、以下说法中正确的是( )。 A. C语言程序中是从第一定义的函数开始执行 B. 在C语言程序中,要调用的函数必须在main()函数中定义 C. C语言程序总是从main()函数开始执行 D. C语言程序中的main()函数必须放在程序的开始部分参考答案: C 17、一个C程序的执行是从( ) A. 本程序的main函数开始,到main函数结束 B. 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C. 本程序的main函数开始,到本程序文件的最后一个函数结束 D. 本程序文件的第一个函数开始,到本程序main函数结束参考答案: A 18、以下叙述正确的是( ) A. 在C程序中,main函数必须位于程序的最前面 B. C程序的每行中只能写一条语句 C. C语言本身没有输入输出语句 D. 在对一个C程序进行编译的过程中,可发现注释中的拼写错误答案: C 1、C源程序的基本单位是___函数__

相关文档
相关文档 最新文档