C语言复习题叶Word文档格式.docx
《C语言复习题叶Word文档格式.docx》由会员分享,可在线阅读,更多相关《C语言复习题叶Word文档格式.docx(23页珍藏版)》请在冰豆网上搜索。
}case2:
}
C)switch(a+b);
D)switch(a+b)
case2+1:
}casec:
(4)有以下程序
voidmain()
{
int
a[]={0,2,4,6,8},
*p=a,
*q=p+3;
printf("
%d\n"
*p
+
*q);
}
程序运行后的输出结果是()
A)10
B)4
C)8
D)6
(5)若有定义:
intx=0,*p=&
x;
,则语句printf("
*p);
的输出结果是()
A)随机值B)0C)x的地址D)p的地址
(6)下列叙述中错误的是()
A)一个C语言程序可以包含多个main函数
B)C程序可以由多个程序文件组成
C)C程序可以由一个或多个函数组成
D)在C程序的函数中不能定义另一个函数
A)and_2007B)abcC)intD)Double
(7)设有intx=11;
则表达式x%5的值是()
A)1B)2C)3D)4
(8)以下的for循环()
for(x=0;
x<
10;
x+=2);
A)是无限循环B)循环次数不定C)执行5次D)执行4次
(9)以下错误的定义语句是()
A)intx[][3]={{0},{1},{1,2,3}};
B)intx[4][3]={{1,2,3},{1,2,3},{1,2,3}};
C)intx[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};
D)intx[][3]={1,2,3,4};
(10)C语言中while和do-while循环的主要区别是().
A)do-while的循环体至少无条件执行一次
B)while的循环控制条件比的循环控制条件严格
C)do-while允许从外部转到循环体内
D)do-while的循环体不能是复合语句
(11)对于基类型相同的两个指针变量之间,不能进行的运算是()
A)<
B)=C)+D)-
(12)设有定义:
int
n1=0,n2,*p=&
n2,*q=&
n1;
,以下赋值语句中与n2=n1;
语句等价的是()
A)*p=*q;
B)p=q;
C)*p=&
D)p=*q;
(13)以下叙述错误的是()
A)用户定义的函数中可以没有return语句
B)用户定义的函数中可以有多个return语句,一次调用可以返回多个值
C)用户定义的函数中若没有return语句,则应当定义函数的类型为void类型
D)函数的return语句中可以没有表达式
(14)有以下程序
#include<
stdio.h>
intfun(intx,inty)
{
if(x>
y)returnx;
elsereturny;
a=4,b=5;
fun(a,b));
A)3
C)5
(15)以下叙述中错误的是()
A)在程序中凡是以”#”开始的代码行都是预处理指令行
B)预处理指令行的最后不能以分号表示结束
C)#defineMAX是合法的宏定义指令行
D)C程序对预处理指令行的处理是在程序执行的过程中进行的
(16)按照c语言的用户标识符命名规则,不能出现在标识符中的是()
A)字母
B)数字
C)下划线
D)连接符
(17)若有定义语句inta[3][2];
按在内存中的存放顺序,a数组的第3个元素(a[0][0]是第一个元素)是()
A)a[1][0]B)a[1][1]C)a[0][0]D)a[0][1]
(19)以下不合法的标识符是()
A)for
B)a_b
C)print
D)x1
(21)若函数中有定义语句:
intk;
,则()
A)系统将自动给k赋初值0B)这时k中的值无定义
C)系统将自动给k赋初值-1D)这时k中无任何值
(24)有以下程序
voidfun(int*a,int*b)
{a=b;
(*a)++;
main()
{inta=3,b=4,*p1,*p2;
p1=&
a;
p2=&
b;
fun(p1,p2);
printf(“%d%d\n”,a,b);
程序运行后的输出结果是()
A)34B)35C)44D)45
(25)以下叙述中正确的是()
A)函数的定义可以嵌套,但函数的调用不可以嵌套。
B)函数的定义不可以嵌套,但函数的调用可以嵌套。
C)函数的定义和调用都不可以嵌套。
D)函数的定义和调用都可以嵌套。
(27)下面关于标识符的叙述正确的是()
A)标识符中可以有数字B)关键字可以做标识符
C)标识符中可以有大写字母D)标识符中可以有下划线
(28)以下关于字符串的叙述中正确的是()
A)c语言中有字符串常量和变量
B)c语言中没有字符串变量
C)可以用关系运算符对字符串大小进行比较
D)所有字符串末尾都有结束标志
(29)若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是()
A)函数的实参和其对应的形参共占同一存储单元
B)形参只是形式上的存在,不占用具体存储单元
C)同名的实参和形参占同一存储单元
D)函数的形参和实参分别占用不同的存储单元
(30)以下不合法的标识符是()
A)j2_keyB)IntC)4dD)_8_
(31)设有语句inta=3;
则执行了语句a+=a-=a*a;
后,变量a的值是()
A)3B)0C)9D)–12
(32)在C程序中,若对函数类型未加说明,则函数的隐含类型为()。
A)intB)doubleC)voidD)char
(33)设变量定义为inta,b;
,执行下列语句时,输入(),则a和b的值都是10。
scanf("
a=%d,b=%d"
&
a,&
b);
A)1010B)10,10C)a=10b=10D)a=10,b=10
(34)设变量定义为inta[4];
,则表达式()不符合C语言语法。
A)*aB)a[0]C)aD)a++
(35)下列程序输出结果是()
#include<
voidmain()
intk=5;
k--;
%d"
++k);
A)3B)4C)5D)6
(37)有以下程序
intx,y,z;
x=y=1;
z=x++,y++;
%d,%d"
x,y);
程序运行后的输出结果是()
A)2,2B)2,3C)3,2D)1,2
(33)以下能正确定义字符串的语句是()
A)charstr=”kx43”;
B)charstr=”;
C)charstr[]={‘\064’};
D)charstr[]=”\0”;
(36)已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,以下不能将变量c中的大写字母转换为小写字母的语句是()
A)c=(c-‘A’)%26+’a’;
B)c=c+32;
C)c=c-‘A’+’a’;
D)c=(‘A’+c)%26-‘a’;
(20)下列程序段的输出结果是()
intt=1,i=5;
for(;
i>
=0;
i--)
t*=i;
t);
A)5B)120C)0D)1
(29).执行以下程序后,j的值是多少()
main()
inti,j=0;
for(i=0;
i<
3;
i++)
if(i%2==0)continue;
j++;
,j);
}
A)1
B)2
C)3
D)4
(30)在C语言中,函数返回值的类型最终取决于()
A)函数定义时在函数首部所说明的函数类型
B)return语句中表达式值的类型
C)调用函数时主调函数所传递的实参类型
D)形式参数的类型
(28)设有以下语句
typedefstructTT
charc;
inta[4];
}CIN;
则下列叙述正确的是()
A)可以用TT定义结构体变量
B)TT是struct类型的变量
C)可以用CIN定义结构体变量
D)CIN是structTT类型的变量
(26)下列程序输出结果是()
k++);
(27)若变量已正确定义,语句if(a>
b)k=0;
elsek=1;
和()等价。
A)k=(a>
b)?
1:
0;
B)k=a>
C)k=a<
=b;
D)a<
=b?
0:
1;
(19).执行以下程序后,j的值是多少()
(