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语言中合法的字符常量是()
' 84'
'x43'
'ab'
“ ” ~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 %dn”,sizeof(p),sizeof(q),strlen(q));以上程序段的输出结果是()。4 4 3 3 3 3 4 3 4 3 4 ~C ~~~2
根据程序段判断:char a1='M',a2='m';printf(“%cn”,(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 0 ~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 非零值 0 ~D ~~~2
在c语言中,运算对象必须是整型数的运算符是()。% %和 ** ~A
~~~2
以下语句的输出结果是_____。printf(“%dn”,NULL);
不确定的(因变量无定义)0
~B ~~~2
能正确表示a和b同时为正或同时为负的逻辑表达式是________。
(a>=0||b>=0)&&(a
(a>=0&&b>=0)&&(a0)&&(a+b
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=%dn”,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
~D ~~~2
下列叙述中错误的是()。
用户所定义的标识符允许作到使用关键字
用户所定义的标识符应尽量作到“见名知意”
用户所定义的标识符必须以字母或下划线开头
用户所定义的标识符中,大小写字母代表不同标识
~A ~~~2
若int a=3,则执行完表达式a+=a-=a*a后,a的值是()。
-3 9
-12 ~C ~~~2
设x、y、z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值为()。4
~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 %dn”,--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;i1;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(“%dn”,m);else printf(“%dn”,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(“%dn”,y--);-1 1 8 0 ~D ~~~4
为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。缩排位置相同的if 与其之前未配对的if 与其之前未配对的最近的if 同一行上的if ~C ~~~4
有以下程序int i,s=0;for(i=1;i
~D ~~~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 下面关于递归的说法错误的是()。
每次当一个递归函数被调用时, 程序首先应该检查其些基本的条件是否满足了, 例如某个参数的值等于零, 函数应停止递归;
每次当函数被递归调用时, 传递给函数一个或多个参数, 应该以某种方式变得“更简单”;一般情况下, 递归方法比迭代方法快;
递归函数的目的是执行一系列调用, 一直到达某一点, 序列终止。
~C ~~~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 ~~~5 若程序中定义了以下函数: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的长度为()。5 6 ~C ~~~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 %dn”,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 ~~~7 若有语句: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(“%dn”,*p);的输出结果是()。
随机值
0
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(“%dn”,*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 ~~~7
若有说明语句: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