《C语言程序设计(新)》考前练兵
1.[单选题] 下面程序运行的结果是
void ss(char *s,char t)
{
while(*s)
{
if(*s= =t) *s=t-‘a’+’A’;
s++;
}
}
void main()
{
char str1[100]=”abcddfefdbd”,c=’d’;
ss(str1,c);
printf(“%s\n”,str1);
}
答案资料下载请参考帮助中心说明
A.ABCDDFEFDBD
B.abcDDfefDbD
C.abcAAfefAbA
D.Abcddfefdbd
答:——B——
2.[单选题] C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是
A.地址传递
B.单向值传递
C.由实参传给形参,再由形参传给实参
D.由用户指定传递方式
答:——B——
3.[单选题] C语言中的标示符只能由字母,数字和下划线三种字符组成,且第一个字符( )
A.必须是字母
B.必须是下划线
C.必须是字母或下划线
D.可以是字母或数字或下划线中的任意一种
答:——C——
4.[单选题] 不能把字符串:”good!”赋给数组b的语句是
A.char b[10]={’g’,’o’,’o’,’d’,’!’};
B.char b[10];b=”good!”;
C.char b[10];strcpy(b, “good!”) ;
D.char b[10]=”good!”;
答:————
5.[单选题] 对for(表达式1;;表达式3)可以理解为
A.for(表达式1;0;表达式3)
B.for(表达式1;表达式1;表达式3)
C.for(表达式1;1;表达式3)
D.for(表达式1;表达式3;表达式3)
答:————
6.[单选题] 面向对象程序设计将数据与( ) 放在一起,作为一个相互依存不可分割的整体来处理.
A.对数据的操作
B.信息
C.数据隐藏
D.数据抽象
答:————
7.[单选题] 若二维数组a有m列,则在a[i][j]前的元素个数为
A.j*m+i
B.i*m+j
C.i*m+j-i
D.i*m+j+1
答:————
8.[单选题] 若有int *p,a[10];p=a; ,则下列写法不正确的是
A.p=a+2
B.a++
C.*(a+1)
D.p++
答:————
9.[单选题] 若有以下定义:char s[10]=”include“,*p=s;,则不能代表字符‘u’的表达式为
A.s[4]
B.s+4
C.*(p+4)
D.p+=4,*p;
答:————
10.[单选题] 设c1,c2均是char型变量,则下面不正确的函数调用为
A.scanf(“c1=%cc2=%c”,&c1,&c2);
B.getchar();
C.putchar(c2);
D.putchar(c1,c2);
答:————
11.[单选题] 说明一个结构体变量时,系统分配给它的内存是
A.各成员所需内存量的总和
B.结构体中第一个成员所需内存量
C.成员中占内存量最大者所需的容量
D.结构体中最后一成员所需内存量
答:————
12.[单选题] 下列数据中,合法的8进制常量是() .
A.473
B.931
C.0abc
D.10
答:————
13.[单选题] 下面不正确的说法是:C语言规定
A.实参可以是常量,变量或表达式
B.形参可以是常量,变量或表达式
C.实参传递给形参时,要求实参必须有确定的值
D.形参应与其对应的实参类型可以不一致
答:————
14.[单选题] 以下说法中正确的是
A.C语言程序总是从第一个定义的函数开始执行
B.在C语言程序中,要调用的函数必须在main函数中定义
C.C语言程序总是从main函数开始执行
D.C语言程序中的main函数必须放在程序的开始部分
答:————
15.[单选题] 下面程序段的输出结果是
char c1=’6’,c2=’0’;
printf(”%c,%c,%d,%d\n”,c1,c2,c1-c2,c1+c2);
A.因输出格式不合法,输出出错信息
B.6,0,6,102
C.6,0,7,6
D.6,0,5,7
答:————
16.[单选题] 下面的循环结构中,不是无限循环的是
A.for( i=1;;i++)
B.i=1;while(i–)
C.i=1;do{printf(”%d”,i); i++;} while(–i);
D.for(i=0;i;i++)
答:————
17.[单选题] 下面是对s的初始化,其中不正确的是
A.char s[5]={“abc”};
B.char s[5]={‘a’,’b’,’c’};
C.char s[5]=””;
D.char s[5]=”abced”;
答:————
18.[单选题] 下面说法中不正确的是
A.一个C源程序可有一个或多个函数组成
B.一个C源程序必须包含一个main函数
C.C程序的基本组成是函数
D.在C程序中,注释语句只能位于一条语句的后面
答:————
19.[单选题] 下面四个选项当中,均是关键字的是( )
A.auto,enum,include
B.switch,typedef,continue 奥鹏东财答案点击 ap5u.com q1647861640
C.signed,union,scanf
D.if,struct,type
答:————
20.[单选题] 已知ch是字符型变量,下面不正确的赋值语句为
A.ch=’a+b’;
B.ch=’\0’;
C.ch=’7’+’9’;
D.ch=5+9;
答:————
21.[单选题] 以下正确的说法是
A.定义函数时,形参的类型说明可以放在函数体内
B.return后边的值不能为表达式
C.如果函数值的类型和返回值类型不一致,以函数值类型为准
D.如果形参与实参的类型不一致,以函数值类型为准
答:————
22.[单选题] C语言规定,在一个源程序中,main函数的位置
A.必须在最开始
B.必须在系统调用的库函数的后面
C.可以任意
D.必须在最后
答:————
23.[单选题] sizeof(double)是一个( )表达式.
A.整型
B.双精度
C.不合法
D.函数调用
答:————
24.[单选题] 不正确的定义语句是
A.double x[5]={2.0,4.0,6.0,8.0,10.0};
B.int y[5]={0,1,3,5,7,9};
C.char c1[]={’1’,’2’,’3’,’4’,’5’};
D.char c2[]={’\x10’,’\x0a’,’\x08’};
答:————
25.[单选题] 对if语句中表达式的类型,下面正确的说法是
A.必须是关系表达式
B.必须是关系表达式或逻辑表达式
C.可以是任意表达式
D.必须是关系表达式或算术表达式
答:————
26.[单选题] 能正确表示a和b同时为正或同时为负的表达式是
A.(a>=0||b>=0)&&(a<0||b<0)
B.(a>=0||b>=0)&&(a<0&&b<0)
C.(a+b>0)&& (a+|b<0)
D.a*b>0
答:————
27.[单选题] 若使用以为数组名作函数实参,则下面说法中正确的是
A.在被调函数中,与该实参相对应的形参必须是同类型的数组名或指针变量
B.实参数组类型与形参数组类型可以不匹配
C.在被调函数中,不需要考虑形参数组的大小
D.实参数组名与形参数组名必须一致
答:————
28.[单选题] 若有定义:int a[10],*p=a;,则p+5表示
A.元素a[5]的地址
B.元素a[5]的值
C.元素a[6]的地址
D.元素a[6]的值
答:————
29.[单选题] 若有以下结构体定义,则正确的引用和定义是struct example { int x; int y;} v1;
A.example.x=10
B.example v2; v2.x=10;
C.struct v2; v2.x=10;
D.struct example v2={10,5};
答:————
30.[单选题] 设p1,p2是指向同一个字符串的指针变量,c为字符变量,则不能正确执行的赋值语句为
A.c=*p1+*p2;
B.p2=c;
C.p1=p2;
D.c=(*p1)*(*p2);
答:————
31.[单选题] 为了表示关系x>=y>=z,下面C语言表达式中正确的是
A.(x>=y)&&(y>=z)
B.(x>=y)and(y>=z)
C.(x>=y>=z)
D.(x>=y)&(y>=z)
答:————
32.[单选题] 下列数据中属于”字符串常量”的是( ).
A.abg
B.”sdfk”
C.‘dfk’
D.‘a’
答:————
33.[单选题] 下面程序的输出结果是
void main()
{
int i=010,j=10;
printf(“%d,%d”,i++,++j);
}
A.10,11
B.11,11
C.8,11
D.8,10
答:————
34.[单选题] 下面程序的运行结果是
void main()
{
int a,b,d=241;
a=d/100%9;
b=(-1)&&(-1);
printf(“%d,%d”,a,b);
}
A.6,1
B.2,1
C.6,0
D.2,0
答:————
35.[单选题] 下面程序段的运行结果是
char c[]=”\t\b\\\0will\n”;
printf(“%d“,strlen(c));
A.14
B.3
C.9
D.字符串中有非法字符,输出值不确定
答:————
36.[单选题] 下面关于for循环的正确描述是
A.for循环只能用于循环次数已经确定的情况
B.for循环中是先执行循环体语句,后判断表达式
C.在for循环中,不能用break语句跳出循环
D.for循环的循环体可以包含多条语句,但必须用花括号括起来
答:————
37.[单选题] 下面是对象概念的描述中,( )是错误的.
A.对象C就是C语言中的结构变量
B.对象代表着正在创建的系统中一个实体
C.对象是一个状态和操作的封装体
D.对象之间的信息传递是通过消息进行的
答:————
38.[单选题] 下面说法中正确的是
A.在C语言中,可以使用动态内存分配技术,定义元素个数可变的数组
B.在C语言中,数组元素的个数可以不确定,允许随即变动
C.在C语言中,数组元素的数据类型可以不一致
D.在C语言中,定义数组后,就确定了它能容纳的相同数据类型元素的个数
答:————
39.[单选题] 一个C语言程序是由
A.一个主程序或若干个子程序组成
B.函数组成
C.若干过程组成
D.若干个子程序组成
答:————
40.[单选题] 以下关于运算符优先顺序的描述中正确的是
A.关系运算符<算术运算符<赋值运算符<逻辑运算符
B.逻辑运算符<关系运算符<算术运算符<赋值运算符
C.赋值运算符<逻辑运算符<关系运算符<算术运算符
D.算术运算符<关系运算符<赋值运算符<逻辑运算符
答:————
41.[单选题] C语言规定,函数返回值的类型是由
A.return语句中的表达式类型所决定
B.调用该函数时的主调函数类型所决定
C.调用该函数时系统临时决定
D.在定义该函数时所指定的函数类型所决定
答:————
42.[单选题] C语言中,函数的隐含存储类型是() .
A.auto
B.static
C.extern
D.register
答:————
43.[单选题] 变量的指针,其含义是指该变量的
A.值
B.地址
C.名
D.一个标志
答:————
44.[单选题] 程序段如下,则正确的执行结果是
int k=0;
while(k++<=2);
printf(“%d\n”,k);
A.2
B.3
C.4
D.无结果
答:————
45.[单选题] 对于基类型相同的两个指针变量之间,不能进行的运算是
A.<
B.=
C.+
D.-
答:————
46.[单选题] 若x,i,j和k都是int型变量,则计算下面表达式后,x的值为( ).
x = ( i=4, j=16, k=32)
A.4B
B.16C
C.32D
D.52
答:————
47.[单选题] 若用数组名作为函数调用的实参,传递给形参的是
A.数组的首地址
B.数组第一个元素的值
C.数组中全部元素的值
D.数组元素的个数
答:————
48.[单选题] 若有条件表达式(exp)?a++:b–,则以下表达式中完全等价于表达式(exp)的是
A.(exp= =0)
B.(exp!=0)
C.(exp= =1)
D.(exp!=1)
答:————
49.[单选题] 若执行下面的程序段,则下面描述中正确的是
int k=5;
while(k=1) k–;
A.while循环执行四次
B.循环体执行一次
C.循环体一次也不执行
D.死循环
答:————
50.[单选题] 设x,y,z,t均为int型变量,则执行以下语句后,t的值为______.
x=y=z=1;
t=++x||++y&&++z
A.不定值
B.2
C.1
D.0
答:————
51.[单选题] 下列常量中,合法的C常量是
A.”x-y”
B.‘105’
C.‘Be’
D.07ff
答:————
52.[单选题] 下列说法中正确的是
A.结构体变量可以作为一个整体进行其值得输入和输出
B.结构体成员项不可以是结构体
C.结构体成员项可以是结构体或其他任何C语言的数据类型
D.结构体变量和结构体是相同的概念
答:————
53.[单选题] 下面程序的输出结果是
void main
{
int i=011,j=11;
printf(“%d,%d\n”,++i,j–);
}
A.10,11
B.12,10
C.11,11
D.10,9
答:————
54.[单选题] 下面程序的执行结果为
void main()
{
int x=20,y;
y=++x;
y+=x;
printf(”%d,”y);
y=x–;
y+=x;
printf(”%d,”y);
}
A.42,41
B.42,42
C.40,41
D.42,40
答:————
55.[单选题] 下面程序段的运行结果是
char c[5]={‘a’,’b’,’\0’,’c’,’\0’};
printf(“%s”,c);
A.‘a’’b’
B.ab
C.ab c
D.abc
答:————
56.[单选题] 下面哪项是构成C语言的基本单位
A.函数
B.过程
C.子程序
D.子例程
答:————
57.[单选题] 下面说法正确的是,在C语言中
A.实参和与其对应的形参各占用独立的存储单元
B.实参和与其对应的形参共占用一个存储单元
C.只有当实参和与其对应的形参同名时才共占用存储单元
D.形参是虚拟的,不占用存储单元
答:————
58.[单选题] 下面说法中正确的是:在C语言程序中
A.函数的定义可以嵌套,但函数的调用不可以嵌套
B.函数的定义不可以嵌套,但函数的调用可以嵌套
C.函数的定义和调用均不可以嵌套
D.函数的定义和 调用均可以嵌套
答:————
59.[单选题] 一个变量的指针是指
A.该变量的值
B.该变量的地址
C.该变量的变量名
D.该变量的标志
答:————
60.[判断题] C语句以句号结束.
A.对
B.错
答:————
61.[判断题] ‘’中只能放一个字符.
A.对
B.错
答:————
62.[判断题] const表示常变量.
A.对
B.错
答:————
63.[判断题] C程序的三种基本结构是:顺序,选择,函数.
A.对
B.错
答:————
64.[判断题] C程序可以有多个输入.
A.对
B.错
答:————
65.[判断题] C语句以分号结束.
A.对
B.错
答:————
66.[判断题] C语言数组中以列优先.
A.对
B.错
答:————
67.[判断题] double表示单精度实型.
A.对
B.错
答:————
68.[判断题] float型数据在内存中占2个字节.
A.对
B.错
答:————
69.[判断题] int表示整型.
A.对
B.错
答:————
70.[判断题] static是自动型变量.
A.对
B.错
答:————
71.[判断题] 变量不能定义在函数之外.
A.对
B.错
答:————
72.[判断题] 定义int a[][3]={1,2,3,4,5,6};是否正确?
A.对
B.错
答:————
73.[判断题] 格式声明%d表示整型.
A.对
B.错
答:————
74.[判断题] 函数递归就是调用该函数本身.
A.对
B.错
答:————
75.[判断题] 函数体分为声明部分和执行部分
A.对
B.错
答:————
76.[判断题] 库函数可以是系统提供的,也可以是用户自己编写的.
A.对
B.错
答:————
77.[判断题] 如有:float a[10];定义是否正确?
A.对
B.错
答:————
78.[判断题] 如有:int a[5]={1,2,3,4,5};那么a[1]=1?
A.对
B.错
答:————
79.[判断题] 实参不能是表达式.
A.对
B.错
答:————
80.[判断题] 实参可以是变量.
A.对
B.错
答:————
81.[判断题] 数组的下标可以是常量,也可以是变量.
A.对
B.错
答:————
82.[判断题] 数组元素不能作为函数的实参.
A.对
B.错
答:————
83.[判断题] 数组中的元素的数据类型可以不相同.
A.对
B.错
答:————
84.[判断题] 形参可以是数组名.
A.对
B.错
答:————
85.[判断题] /*和*/不必成对使用.
A.对
B.错
答:————
86.[判断题] ””中只能放一个字符.
A.对
B.错
答:————
87.[判断题] C程序必须有一个或多个输出.
A.对
B.错
答:————
88.[判断题] C程序可以没有输出.
A.对
B.错
答:————
89.[判断题] C程序中,可以有一个主函数和若干个子函数组成.
A.对
B.错
答:————
90.[判断题] C语言数组下标习惯上从0开始.
A.对
B.错
答:————
91.[判断题] C语言中既有字符变量,也有字符常量.
A.对
B.错
答:————
92.[判断题] double型数据在内存中占8个字节.
A.对
B.错
答:————
93.[判断题] i++表示自身加1.
A.对
B.错
答:————
94.[判断题] m=max(a,max(b,c));书写正确吗?
A.对
B.错
答:————
95.[判断题] 按变量的生存期可分为:动态存储和静态存储.
A.对
B.错
答:————
96.[判断题] 变量可分为局部变量和全局变量.
A.对
B.错
答:————
97.[判断题] 定义int a[2][]={1,2,3,4,5,6};是否正确?
A.对
B.错
答:————
98.[判断题] 函数必须有返回值.
A.对
B.错
答:————
99.[判断题] 函数递归调用一般用if-else实现.
A.对
B.错
答:————
100.[判断题] 函数中的参数分为实参和形参.
A.对
B.错
答:————
101.[判断题] 两个字符串所包含的字符个数相同时,才能比较字符串.
A.对
B.错
答:————
102.[判断题] 如有:int a[3][4];定义是否正确?
A.对
B.错
答:————
103.[判断题] 如有:int a[n];定义是否正确?
A.对
B.错
答:————
104.[判断题] 实参传递给形参的可以是地址.
A.对
B.错
答:————
105.[判断题] 实参可以是常量.
A.对
B.错
答:————
106.[判断题] 数组的长度可以改变.
A.对
B.错
答:————
107.[判断题] 数组元素可以作为函数的形参.
A.对
B.错
答:————
108.[判断题] 所有的C程序都需要写在一个函数里.
A.对
B.错
答:————
109.[判断题] 形参只能是变量.
A.对
B.错
答:————
110.[判断题] //表示程序结束.
A.对
B.错
答:————
111.[判断题] c=2*max(a,b);书写正确吗?
A.对
B.错
答:————
112.[判断题] C程序从主函数开始,从主函数结束.
A.对
B.错
答:————
113.[判断题] C程序可以没有输入.
A.对
B.错
答:————
114.[判断题] C语句以逗号结束.
A.对
B.错
答:————
115.[判断题] C语言数组中以行优先.
A.对
B.错
答:————
116.[判断题] C语言中字符变量用字符数组来表示.
A.对
B.错
答:————
117.[判断题] float表示双精度实型.
A.对
B.错
答:————
118.[判断题] int a,b;在定义时省略了auto.
A.对
B.错
答:————
119.[判断题] printf(“%%d”,1/3);输出0.333333.
A.对
B.错
答:————
120.[判断题] 变量必须先定义,后使用.
A.对
B.错
答:————
121.[判断题] 定义 int a[2][]={{1,2},{3,4}};是否正确?
A.对
B.错
答:————
122.[判断题] 多维数组名不能用作函数的形参.
A.对
B.错
答:————
123.[判断题] 函数不可以嵌套定义,但可以嵌套调用.
A.对
B.错
答:————
124.[判断题] 函数可以嵌套定义,但不能嵌套调用.
A.对
B.错
答:————
125.[判断题] 可以在定义数组的同时赋初始值.
A.对
B.错
答:————
126.[判断题] 确定性不是算法的特征.
A.对
B.错
答:————
127.[判断题] 如有:int a[5]={1,2,3,4,5};定义是否正确?
A.对
B.错
答:————
128.[判断题] 如有:int n=5;int a[n];定义是否正确?
A.对
B.错
答:————
129.[判断题] 实参传递给形参的可以是数值.
A.对
B.错
答:————
130.[判断题] 实参只能是变量.
A.对
B.错
答:————
131.[判断题] 数组名可以作为函数的实参.
A.对
B.错
答:————
132.[判断题] 数组中的下标用[]括起来.
A.对
B.错
答:————
133.[判断题] 同一数组的元素具有相同的数组名.
A.对
B.错
答:————
134.[判断题] 有穷性是算法的特征.
A.对
B.错
答:————
135.[问答题] &&,||,!谁的优先级别最高?
答:————
136.[问答题] ? :是什么运算符?
答:————
137.[问答题] “++”和”=”谁的优先级高?
答:————