C语言复习题叶.docx
- 文档编号:857747
- 上传时间:2022-10-13
- 格式:DOCX
- 页数:23
- 大小:48.16KB
C语言复习题叶.docx
《C语言复习题叶.docx》由会员分享,可在线阅读,更多相关《C语言复习题叶.docx(23页珍藏版)》请在冰豆网上搜索。
C语言复习题叶
C语言复习题叶
————————————————————————————————作者:
————————————————————————————————日期:
一、选择题
(1)以下叙述中正确的是()
A)c语言程序将从源程序中第一个函数开始执行。
B)可以由在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行。
C)c语言规定必须用main作为主函数名,程序将从此开始执行,在此结束。
D)main可以作为用户标识符,用户可以命名任意一个函数作为主函数。
(2)若有定义语句:
chars[10]=”1234567\0\0”;则strlen(s)的值是()
A)7B)8C)9D)10
(3)若有定义:
floatx=1.5;inta=1,b=3,c=2;则正确的switch语句是()
A)switch(x)B)switch((int)x)
{case1.0:
printf("*\n");{case1:
printf("*\n");
case2.0:
printf("**\n");}case2:
printf("**\n");}
C)switch(a+b);D)switch(a+b)
{case1:
printf("*\n");{case1:
printf("*\n");
case2+1:
printf("**\n");}casec:
printf("**\n");}
(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("%d\n",*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)
(12)设有定义:
int n1=0,n2,*p=&n2,*q=&n1;,以下赋值语句中与n2=n1;语句等价的是()
A)*p=*q; B)p=q; C)*p=&n1; D)p=*q;
(13)以下叙述错误的是()
A)用户定义的函数中可以没有return语句
B)用户定义的函数中可以有多个return语句,一次调用可以返回多个值
C)用户定义的函数中若没有return语句,则应当定义函数的类型为void类型
D)函数的return语句中可以没有表达式
(14)有以下程序
#include
intfun(intx,inty)
{
if(x>y)returnx;
elsereturny;
}
voidmain()
{
int a=4,b=5;
printf("%d\n",fun(a,b));
}
程序运行后的输出结果是()
A)3 B)4 C)5 D)6
(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--;
printf("%d",++k);
}
A)3B)4C)5D)6
(37)有以下程序
#include
voidmain()
{
intx,y,z;
x=y=1;
z=x++,y++;
printf("%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)下列程序段的输出结果是()
#include
voidmain()
{
intt=1,i=5;
for(;i>=0;i--)
t*=i;
printf("%d\n",t);
}
A)5B)120C)0D)1
(29).执行以下程序后,j的值是多少()
#include
main()
{
inti,j=0;
for(i=0;i<3;i++)
{
if(i%2==0)continue;
j++;
}
printf("%d\n",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)下列程序输出结果是()
#include
voidmain()
{
intk=5;
printf("%d",k++);
}
A)3B)4C)5D)6
(27)若变量已正确定义,语句if(a>b)k=0;elsek=1;和()等价。
A)k=(a>b)?
1:
0;B)k=a>b;
C)k=a<=b;D)a<=b?
0:
1;
(19).执行以下程序后,j的值是多少()
#include
main()
{
inti,j=0;
for(i=0;i<3;i++)
{
if(i%2==0)continue;
j++;
}
printf("%d\n",j);
}
A)1 B)2 C)3 D)4
(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 复习题