《C语言程序设计》期末考试试题(B卷)

本次考试有50个单选题,每题2分。考试时长:100分钟;30分钟后才能交卷。
班级(如:计算机网络技术21X(X为班级号))
    ____________
学号
    ____________
姓名
    ____________
以下头文件表达正确的是( )。
A、definestdio.h
B、#definestdio.h
C、#includestdio.h
D、#includestdio.h;
以下叙述不正确的是( )。
A、C 语言源程序可以有多个主函数
B、函数体中可以出现多对大括号{}
C、C函数可以由多个函数组成
D、main函数是执行入口和出口
以下叙述不正确的是( )。
A、一个C源程序可由一个或多个函数组成
B、C程序直接可以直接运行,不必编译
C、C语言中编写程序区分大小写
D、C语言属于高级编程语言
当a=2,b=2时,表达式a==b的值为( )。
A、2
B、1
C、0
D、5
以下叙述正确的是( )。
A、C语言的关键字可以由用户自己定义
B、C语言的关键字是有特殊用途的,不能作标识符
C、int和Int都是关键字
D、关键字与一般的标识符没有区别
下列定义变量的语句中错误的是( )。
A、int _int;
B、double int_;
C、char For;
D、float US$;
若有定义“char a; int b; float c; double d;”,则表达式“a*b+d-c”值的类型为( )。
A.float
B.int
C.char
D.double
若s是int型变量,则表达式s%2+(s+1)%2的值为( )。
A、1
B、2
C、4
D、3
若a是int型变量,则表达式(a=4*5,a*2),a+6的值为( )。
A、24
B、26
C、28
D、30
若有以下定义,则能使值为3的表达式是( )。

int k=7,x=12;

A、x%=k%=5
B、x%=k-k%5
C、x%=(k-k%5)
D、(x%=k)-(k%=5)
下面程序的输出结果是( )。

#include <stdio.h>

int main ( ){

    int a = 10;

     if( a < 20 ) {

        printf("a 小于 20!" );

        }

      printf("a 的值是 %d\n", a); return 0; }

A、编译提示错误
B、输出结果是:a 小于 20!
C、输出结果是:a 小于 20!a 的值是 10
D、不提示错,也没有任何结果输出。
请阅读以下程序,判断输出结果( )。

#include <stdio.h>

main()

{int a=5,b=5,c=0;

if(a==b+c) printf("我是if语句!");

else printf("我是else语句!");} 

A、编译不通过
B、输出结果是:我是if语句!
C、输出结果是:我是else语句!
D、编译没有错,但是什么都不输出。
运行下面程序时,若从键盘输入"3 和 5",则程序的输出结果是( )。

#include <stdio.h>

void main( ){

int x,y;

scanf("%d%d",&x,&y);

if (x==y)

printf("x==y");

else if (x>y) printf("x>y");

else printf("x<y");}

A、35
B、53
C、xy
D、xy
下列程序的运行结果是( )。

#include <stdio.h>

main(){

int x=-9,y=5,z=8;

if(x<y)

if(y<0) z=0;

else z+=1;

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

A、6
B、7
C、8
D、9
已知int x=1,y=2,z=3; 执行语句if(x>y) z=x;x=y;y=z;后x,y,z的值是( )。
A、x=1,y=2,z=3
B、x=2,y=3,z=3
C、x=2,y=3,2=1
D、x=2,y=3,z=2
从键盘输入10后,下面程序输出的结果是( )。

main()

{ int x;

scanf("%d",&x);

switch(x){

case 10:

case 9.5:x++;break;

default:x=5*x;}

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

A、提示错误
B、50
C、不提示错误,也没有答案
D、x=50
若有以下程序:

#include <stdio.h>

main(){

int a;

scanf("%d",&a);

if(a==0)printf("%d\n",++a);

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

若从键盘上输入3,则运行程序后的输出结果是( )。

A、2
B、1
C、3
D、4
C语言中,关系表达式和逻辑表达式的值是(  )。
A、0
B、1
C、0或1 
D、T或F
if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是(  )。
A、必须是逻辑值
B、必须是整数值
C、必须是实数值
D、任何合法类型数值
关于for循环语句的写法正确的是( )。
A、for (i=0,y=3;y4;i++,y++)
B、for (i=0 y=3;y5;i++)
C、for (i=0,y=3;y4 i4;i++,y++)
D、for (i=0,y=3;y4 i4;i++2,y++2)
下面程序的循环次数是( )。

int k=0; while(k<10) {

if(k<1) continue;

if(k==5) break;

 k++;}int k=0; while(k<10) {

if(k<1) continue;

if(k==5) break;

 k++;}

A、5
B、6
C、4
D、死循环
下列程序运行后的输出结果是( )。

main() {

int s=0,n=5;

do { if(n%2==0) s+=n; } while(--n);

printf("%d",s); }

A、4
B、6
C、9
D、12
有以下程序,程序运行后的输出结果( )。

main()

{ int k=5,n=0;

while(k>0)

{ switch(k)

{ default : break;

case 1: n+=k;

case 2:

case 3: n+=k;

} k- -; }

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

程序运行后的输出结果( )。

A、0
B、4
C、6
D、7
已有定义:char a[ ]="xyz",b[ ]={'x', 'y', 'z'};,下列叙述中正确的是( )。
A、数组 a 和 b 的长度相同
B、a 数组长度小于 b 数组长度
C、a 数组长度大于 b 数组长度
D、上述说法都不对
下列选项中,合法的数组定义是( )。
A、int a[]=”hello”
B、int a[6]={0,1,2,3,4,5,6}
C、char ch=”hello”
D、char ch[]={2,3,4,5,6}
求字符串长度的函数是( )。
A、strcat
B、strcpy
C、strcmp
D、strlen
下面说明不正确的是(  )。
A、char a[10]=china;
B、char a[10],*p=a;p=china;
C、char *a;a=china;
D、char a[10],*p;p=a=china;
有以下语句,则对a数组元素的引用不正确的是( ) 。
int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;
A、a[p-a]
B、*(a[i])
C、p[i]
D、*(*(a+i))
有以下三种形式可供选择,则为了表示结构体变量中的成员,各选项中叙述正确的是:(1)结构体变量.成员名 (2)(*结构体指针变量).成员名 (3)结构体指针变量->成员名。
A、只能用1或2表示
B、只能用1或3表示
C、只能用2或3表示
D、三种形式均可
若有如下说明语句,则定义 union student{ long num; char name[20]; char sex; int age;};表示定义了( )。
A、结构体类型
B、结构体变量
C、共用体类型
D、共用体变量
已有定义int k=2;int *ptr1,*ptr2;且ptr1和ptr2均已指向变量k,下面不能正确执行的赋值语句是( )。
A、k=*ptr1+*ptr2
B、ptr2=k
C、ptr1=ptr2
D、k=*ptr1*(*ptr2)
有下列程序段:

typedef struct NODE {  

int num; 

struct NODE *next; 

}OLD; 

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

A、以上的说明形式非法
B、NODE是一个结构体类型
C、OLD是一个结构体类型
D、OLD是一个结构体变量
下列关于C语言数据文件的叙述中正确的是()。
A、文件由 ASCII码字符序列组成,C语言只能读写文本文件
B、文件由二进制数据序列组成, C语言只能读写二进制文件
C、文件由记录序列组成,可按照数据的存放形式分为二进制文件和文本文件
D、文件由数据流形式组成,可按照数据的存放形式分为二进制文件和文本文件
系统的标准输入文件是指()。
A、键盘
B、显示器
C、软盘
D、硬盘
若执行fopen()函数时发生错误,则函数的返回值是()。
A、地址值
B、0
C、1
D、EOF
当定义声明一个结构体变量时系统分配给它的内存是成员中占内存量最大者所需的容量。
A、正确
B、错误
若要求定义具有 10 个 int 型元素的一维数组a,则语句:int n=10,a [n]; 是否正确?
A、正确
B、错误
break是结束整个循环过程,不再判断执行循环的条件是否成立。
A、正确
B、错误
在多层循环中, 一个break语句只向外跳一层。
A、正确
B、错误
40、continue 不是结束本次循环,而是终止整个循环的执行。
A、正确
B、错误
do-while循环至少要执行一次循环语句。
A、正确
B、错误
C语言的三种循环不可以互相嵌套。
A、正确
B、错误
C语言中,每个函数都可以被其他函数调用,包括 main 函数。
A、正确
B、错误
用typedef可以定义各种类型名,但不能用来定义变量。
A、正确
B、错误
C语言中的每条可执行语句最终都将被转换成二进制的机器指令。
A、正确
B、错误
C程序提供输入/输出语句。
A、正确
B、错误
在程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越 界”的出错信息。
A、正确
B、错误
请判断数组定义语句:int x[3][2]={{l,2},{3,4},{5,6}};是否正确。
A、正确
B、错误
语句int a[5]={10*1};可以正确的对数组进行初始化。
A、正确
B、错误
C语言结构体类型变量在执行期间所有成员一直驻留在内存中.。
A、正确
B、错误

53题 | 被引用1次

使用此模板创建