C语言选择题(最全版试题)【错题】
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,一样可以知道到哪里是字符数组的结尾。
C语言程序设计选择题库及答案

单项选择题导读:单项选择题要求从给出的四个备选答案中,选出一个最符合题意的答案。
本类习题主要检查对C语言基本概念的掌握情况,读者可根据学习进度选做部分习题。
在完成习题的过程中,不但要选出正确的答案,而且要清楚不正确的选项错在何处,以加深对概念的理解。
对于掌握不准的问题,应该通过上机实验来检验.【1.1】以下不正确的C语言标识符是____。
A)int B)a_1_2 C) ab1exe D) _x【1。
2】以下是正确的C语言标识符是____.A) #define B)_123 C)%d D) \n【1。
3】下列四组字符串中都可以用作C语言程序标识符的一组是。
••• A) print B) i\am C) Pxq D)str_l••• _3d one_half My—>book Cpp••• oodb start$it line#pow••• aBc 3pai His。
age while【1.4】下面各选项组中,均是C语言关键字的组是。
A)auto,enum,include B) switch,typedef,continueC)signed,union,scanf D) if,struct,type【1.5】下列不属于C语言关键字的是。
A)default B) register C)enum D)external【1。
6】C语言程序从main()函数开始执行,所以这个函数要写在____。
A) 程序文件的开始B) 程序文件的最后C) 它所调用的函数的前面D)程序文件的任何位置【1.7】下列关于C语言的叙述错误的是____A)大写字母和小写字母的意义相同B) 不同类型的变量可以在一个表达式中C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型D)同一个运算符号在不同的场合可以有不同的含义【1。
8】在C语言中,错误的int类型的常数是。
A)32768 B)0 C)037 D) 0xAF【1.9】执行语句printf(”%x”,—1);屏幕显示____。
(完整版)C语言选择题(附答案)

第一单元C语言概述一、选择题1、C语言中主函数的个数为(A)个。
A)1 B)2C)无穷个D)任意个2、以下关于C语言描述错误的是(D)。
A)一个C程序总是从main函数开始执行TB)每个语句和数据声明的最后必须有一个分号TC)C语言的注释符是以“/*”开始并以“*/”结束的TD)一个C程序可以包含多个main函数F3、C 语言源程序文件后缀为(C )。
A).EXE B).OBJ C).C D).ASM4、C语言是由(C )组成的。
A)子程序B)主程序与子程序C)函数D)过程5、C语言属于(B )语言A)机器语言B)汇编语言C)高级语言D)面向对象语言第二单元C语言基础一、选择题1、C语言中普通整型变量int在内存中占(B )字节。
A)1 B)2 C)3 D)42、下列不是C语言基本数据类型的是(A )。
A)字符型B) 整型C) 浮点型D) 结构体3、有关自增、自减运算,以下只有(D )是正确的。
A) ---f B) ++78 C) a—b++ D) d++4、已知A=7.5,B=2,C=3.6,表达式(A>B && C>A) || (A<B && !C>B)的值是(A )。
A)0 B)10 C)1 D)55、若有x=1,y=2,z=3,则表达式(x<y?x:y)= =z的值是(D )。
A)1 B)2 C)3 D)06、判断char型变量ch是否为大写字母的正确表达式是(C )。
A) ‘A’<=ch<=‘Z’B) (ch>=‘A’)&(ch<=‘Z’)C) (ch>=‘A’)&&(ch<=‘Z’) D) (‘A’<= ch)AND(‘Z’>= ch)7、判断整型变量digit是否为数字的正确表达式是(C )。
A) ‘0’<=ch<=‘9’B) (ch>=‘0’)&(ch<=‘9’)C) (ch>=‘0’)&&(ch<=‘9’) D) (‘0’<= ch)AND(‘9’>= ch)8、一个C程序的执行是从(A )。
c语言复习题面试题考试题-全

c语言复习题面试题考试题-全不定项选择题(针对以下题目,请选择最符合题目要求的答案,每道题有一项或二项正确答案。
针对每一道题目,所有答案都选对,则该题得分,所选答案错误或不能选出所有答案,则该题不得分。
题量为50道,每题2分,总分为100分。
)第一章1)对于C语言的描述说法错误的是()。
A、它是一种计算机程序设计语言B、它既有高级语言的特点,又具有汇编语言的特点C、它不可以作为系统设计语言,编写系统应用程序D、它可以作为应用程序设计语言,编写不依赖计算机硬件的应用程度2)在C语言中,下图所示的流程图符号代表的是()。
(选择一项)A、程序开始或结束B、判断和分支C、输入/输出指令D、计算步骤3、下列关于算法的说法正确的是()(选择二项)A、算法必须在有限步骤内解决问题B、算法可能需要无穷步才能解决问题C、算法应该有确定的结果D、算法的计算结果无法预知4、在C中,多行注释使用()符号结尾(选择一项)A、/某B、某/C、某D、ocB、.t某tC、.pptD、.c或.cpp7、以下对C语言源程序的结构特点描述错误的是()(选择一项)A、一个C语言源程序可以由一个或多个源文件组成B、每一个源文件只能有一个函数组成C、一个源程序有且只有一个main函数充当主函数D、每一个说明,每一个语句都必须以分号结尾8、下列对C语言头文件描述错误的是()(选择一项)A、中包含了标准的输入输出函数以及字符串出来函数B、中包含了数学运算函数C、中包含了各类基本函数D、中包含了时间和日期的处理函数9、从开发C语言程序到让计算机可以执行命令,需要经过以下步骤中正确的是()(选择一项)A、编辑编译预处理连接加载执行B、编辑预处理编译连接加载执行C、编辑预处理连接编译加载执行D、编辑预处理连接编译加载执行10、在C语言中,下图所示的流程图符号代表的是()。
(选择一项)A、程序开始或结束B、判断和分支C、输入/输出指令D、处理过程11、在C语言中,下图所示的流程图符号代表的是()。
C语言习题(详细解答)

程序设计基础(C语言版)习题第01章绪论一.选择题1.以下叙述中正确的是________。
A)程序设计的任务就是编写程序代码并上机调试B)程序设计的任务就是确定所用数据结构C)程序设计的任务就是确定所用算法D)以上三种说法都不完整【解析】程序设计通常分为问题建模、算法设计、编写代码和编译调试四个阶段。
所以选项A)、B)、C)说法都不完整。
2.以下关于简单程序设计的步骤和顺序的说法中正确的是。
A)确定算法后,整理并写出文档,最后进行编码和上机调试B)首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档C)先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档D)先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构【解析】设计一个能解决实际问题的计算机程序需要经过以下几个过程:①建立模型。
②算法设计:给出解决问题的步骤,即算法。
③算法表达:选择一种表达算法的工具,对算法进行清晰的表达。
④编写程序:选择一种程序设计语言,把以上算法程序化,这称为编写程序。
⑤程序调试:对编写好的程序进行调试,修改程序中的错误。
⑥程序文档编写与程序维护。
综上所述,B)选项是符合上述描述的,其他选项不恰当。
3,叙述中正确的是________。
A)C程序的基本组成单位是语句B)C程序中的每一行只能写一条语句C)简单C语句必须以分号结束D)C语句必须在一行内写完【解析】函数是C程序的基本组成单位;C语言书写风格很自由,不但一行可以写多个语句,还可以将一个语句写在多行中。
故本题答案为C)。
4.以下叙述中正确的是。
A)C程序中的注释只能出现在程序的开始位置和语句的后面B)C程序书写格式严格,要求一行内只能写一个语句C)C程序书写格式自由,一个语句可以写在多行上D)用C语言编写的程序只能放在一个程序文件中【解析】在C语言中,注释可以加在程序中的任何位置,选项A)错误。
C程序可以分模块写在不同的文件中,编译时再将其组合在一起,选项D)错误。
C语言试题库(含答案)

D、print f("%c\n",class[2].name[0]);
标准答案:D
【5】设单精度变量f,g的值均为5.0,则下面的表达式中,使f为10.0的表达式是。
A、f+=g
B、f-=g+5
C、f*=g-5
D、f/=g*5
标准答案:A
if(ch=='/')w=a/b;
B、B)if(ch=='*')w=a*b;
else if(ch=='/')w=a/b;
if(ch=='+')w=a+b;
else if(ch=='-')w=a-b;
C、if(ch=='+')w=a+b;
else if(ch=='-')w=a-b;
if(ch=='*')w=a*b;
A、15
B、10
C、25
D、20
标准答案:A
【15】程序段的基本结构中,不包含()。
A、函数结构
B、循环结构
C、顺序结构
D、分支结构
标准答案:A
【1】执行语句scanf("%d,%d",&m,&n);使m和n的值分别为1和2,正确输入是。
A、1
B、2
C、1,2
D、12
标准答案:c
【3】若用数组名作为函数调用的实参,传递给形参的是()。
#include<stdio.h>
main()
{int i=1;
(完整版)c语言选择题题库,考试必考

C语言选择题精选*1、A一个C程序的执行是从_____。
A)本程序的main函数开始,到main函数结束√B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束*2、C以下叙述正确的是:A)在C程序中,main函数必须位于程序的最前面×B)C程序的每行中只能写一条语句×C)C语言本身没有输入输出语句D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误×*3、D以下叙述不正确的是。
A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面*4、CC语言规定:在一个源程序中,main函数的位置。
A)必须在最开始B)必须在系统调用的库函数的后面C)可以任意D)必须在最后*5、B一个C语言程序是由A)一个主程序和若干子程序组成 B)函数组成C)若干过程组成 D)若干子程序组成*6、A在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为A)char<int <1ong int<=float<doubleB)char=int<1ong int<=float<doubleC)char< int <1ong int=float=doubleD)char=int =1ong int<=float<double*7、C若x,i,j和k都是int型变量,则执行下面表达式后x的值为x=(i=4,j=16,k=32)A)4 B)16 C)32 D)52*8、B假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是:A)7 B)8 C)6 D)2*9、A下列四组选项中,均不是C语言关键字的选项是A)define B)getc C)include D)whileIF char scanf gotype printf case pow*10、B下面四个选项中,均是C语言关键字的选项是A)auto B)switch C)signed D)ifenum typedef union structinclude continue scanf type*11、C下面四个选项中,均是不合法的用户标识符的选项是。
C语言试卷(含答案)

一、单项选择题(每小题2分,共40分)1、sizeof(float)是()A. 一个双精度型表达式B. 一个整型表达式C. 一种函数调用D. 一个不合法的表达式2、设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值: scanf("i=%d,f=%f",&i,&f);为了把100和分别赋给i和f,则正确的输入为()。
A. 100B. i=100,f=765.12C. 100<回车>D. x=100y=3、#include<>voidmain(){inta=3,b=2,c=1;intx=10,y=20;if(a<b)if(b!=0)if(!x)y=1;elseif(x)y=0;y=-1;printf("%d",y);}上面的C程序的输出结果是()。
A. 20B. 1C. 0D. -14、C语言中,while和do…while循环的主要区别是()。
A. do…while的循环体至少无条件执行一次B. while的循环控制条件比do…while的循环控制条件严格C. do…while允许从外部转到循环体内D. do…while的循环体不能是复合语句5、执行下面的C程序段后,输出结果是()。
inta=5;while(a--);printf("%d",a);A. 54321B. 4321C. 0D. -16、在C语言中,()是在所有函数外部声明的。
A. 全局变量B. 局部变量C. 形参D.实参7、分析下面的C程序:#include<>voidmain(){intnum=0;while(num<=2){num++;printf("%d",num);}}输出结果是()。
A. 123B. 012C. 23D. 128、下面的C语言代码段的输出结果是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
50203、以下()是正确的常量。
答案:D
A、E-5
B、1E5.1
C、'a12'
D、32766L
50207、以下()是错误的整型常量。
答案:B
A、-0xcdf
B、018
C、0xe
D、011
50301、若有定义:int a=2; 则正确的赋值表达式是()。
答案:A
A、a-=(a*3)
B、double(-a)
C、a*3
D、a*4=3
50308、若有定义:int x=2,y=3;float i;,则以下符合C语言语法的表达式是()。
答案:B
A、x=x*3=2
B、x=(y==1)
C、i=float(x)
D、i%(-3)
50402、下面叙述中,错误的是()。
答案:A
A、其算术运算对象不包含函数
B、%(模运算符)的运算对象只能为整型量
C、算术运算符的结合方向是"自左至右"
D、自加和自减运算符的结合方向是"自右至左"
50406、若有定义:int a=1,b=2,c=3; 则语句++a||++b&&++c;运行后b的值为()。
答案:C
A、1
B、0
C、2
D、3
50407、若有定义:int i,j;则表达式(i=2,j=5,i++,i+j++)的值是()。
答案:B
A、7
B、8
C、9
D、10
50602、下面叙述中,()不是结构化程序设计三种基本结构的共同特点。
答案:A
A、先判断后执行
B、单入口,单出口
C、程序中没有执行不到的语句
D、无死循环
50603、结构化程序设计不包括()。
答案:A
A、最优化
B、自顶而下,逐步细化
C、模块化设计
D、结构化编码
50702、已知char a='R'; 则正确的赋值表达式是()。
答案:A
A、a=(a++)%4
B、a+2=3
C、a+=256--
D、a='\078'
50703、已知int a='R'; 则正确的表达式是()。
答案:A
A、a%10
B、a=int(3e2)
C、2*a=a++
D、a=a+a=a+3
50801、以下的if语句中,x的值一定被重新赋值的是()。
答案:B
A、if(x==y) x+=y;
B、if(x>y && x!=y );
x+=y;
C、if(x!=y)
scanf("%d",&x);
else
scanf("%d",&y);
D、if(x<y)
{ x++;y++; }
50808、以下程序的运行结果是()。
void main()
{
int n='c';
switch(n++)
{
default: printf("error "); break;
case 'a':
case 'b': printf("good "); break;
case 'c': printf("pass ");
case 'd': printf("warn ");
}
}
答案:C
A、pass
B、warn
C、pass warn
D、error
51107、若有定义int a[2][3];则对数组元素的非法引用是()。
答案:D
A、a[0][1/2]
B、a[1][1]
C、a[4-4][0]
D、a[0][3]
51109、若有定义int a[][3]={1,2,3,4,5,6,7,8,9};则表达式sizeof(a)/sizeof(a[0]) 的值为()。
答案:D
A、3
B、4
C、5
D、9
51207、以下程序段运行后屏幕输出为()。
\\ 为一个\
char str[]="ab\\cd";
printf("%d",strlen(str));
答案:B
A、4
B、5
C、6
D、7
51209、若有定义:char str1[6]="abcdm",*ps,*str2="abcdef";()是正确的。
答案:B
A、strcpy(str1,str2);
B、表达式strcmp(str1,str2)的值大于0
C、str1=str2;
D、表达式strlen(str1)的值为6
51307、若有如下函数定义:
int fun()
{
static int k=0;
return ++k;
}
以下程序段运行后屏幕输出为()。
int i;
for(i=1;i<=5;i++) fun();
printf("%d",fun());
答案:D
A、0
B、1
C、5
D、6
51403、以下叙述中,正确的是()。
答案:A
A、宏展开不占用运行时间,只占用编译时间
B、预编译处理命令行必须以分号结束
C、一个源程序只能有一个预编译处理命令行
D、使用带参数的宏定义时,应该说明每个参数的数据类型
51407、下面程序的输出结果是()。
#include <stdio.h>
#define SQR(x) (x*x)
void main()
{
int a,b=3;
a=SQR(b+2);
printf("\n%d",a);
}
答案:A
A、11
B、25
C、不定值
D、产生错误
51502、对于基类型相同的两个指针变量之间,不能进行的运算是()。
答案:C
A、<
B、=
C、+
D、-
解释:指针表示两个地址。
相加没有意义。
相减表示两个地址之间的偏移量。
51509、下面语句正确的是()。
答案:B
A、int *p; *p=20;
B、char *s="abcdef"; printf("%s\n",s);
C、char str[]="abcd"; str++;
D、char str[]={'a','b','c'};printf("%s",str);
51602、若函数fun的函数头为:
int fun(int i, int j)
且函数指针变量p定义如下:
int(*p)(int i, int j);
则要使指针p指向函数fun的赋值语句是()。
答案:B
A、p=*fun;
B、p=fun;
C、p=fun(i,j);
D、p=&fun;
51607、下面程序的输出结果是()。
#include<stdio.h>
void main()
{
int i;
char *s="abc";
for(i=0;i<3;i++)
printf("%s\n",s+i);
}
答案:A
A、abc
bc
c
B、c
bc
abc
C、abc
c
bc
D、a
ab
abc。