C语言问题

[复制链接]
查看11 | 回复3 | 2016-8-18 07:15:52 | 显示全部楼层 |阅读模式
二、选择题(每题3分,共45分)
1. 定义一个变量使之保存值的范围是0-65535,应该选择( )类型。
A.unsigned short int
B. int

C.short int
D.long int
2. 设x、y、z都是整型变量,x、y的初值都是5,执行z=(++x)+(y- -)+1后,x、y、z三变量的值按顺序是()。
A.5, 5, 11
B.6, 6, 13 C.4, 6, 12
D.6, 4,
3.下列字符中不属于转义字符的是()
A. \n
B.\t
C.\b
D.\k
4.下列不正确的标识符是()
A._char
B.a?b
C.x
D.st2_flag
5. C语言的源程序()主函数
A. 可以没有
B.可以有多个

C.有且只有一个
D.若有,只有一个
6. 在内存中应该开辟()多少个字节来存放字符‘\n’.
A. 1
B. 2
C. 3
D. 4
7. 下面的()不是合法的c语言常量。
A. 123 B.‘M’C.0892
D. “Flag”
8. 下面()对变量的说明是错误的。
A. char c1, int x;B. int a,b; float x, y;
C. int a; int b;
D. char c1; int x;
9. 有变量说明int a=3;, 则表达式a1的运算结果和a的值应该是( )
A. 0和2
B. 0和3
C. 1和2
D. 1和3
10. 设int x=12;, 则执行完语句a+=a-=a*a; 后,a的值是()
A. 552
B. 264
C. -264
D. 144
11. c语言中,运算对象必须是整型数的运算符是()
A.%
B. / C. %和\D. %和/
12. 以下关于break语句的描述,只有()是正确的。
A. 在循环语句中必须使用break语句。
B.break语句只能用于switch语句中。
C. 在循环语句中可以根据需要使用break语句。
D. break语句可以强制跳出所有循环
13. 下面的叙述中,不正确的是( )
A. 在main函数中说明的变量的作用域是整个程序。
B. 全局变量在程序运行期间一直占用分配给它的存储单元。
C. 形式参数是局部变量。
D. return()语句中括号内可以是常量、有确定值的变量或
14. 定义函数时,默认的函数类型是( )
A. auto B. register C. static D. extern
15. c语言中的函数( )
A. 可以嵌套定义
B. 嵌套调用和递归调用均可
C. 不可以嵌套调用
D. 可以嵌套调用,但不可以递归调用

三、阅读下列程序,写出执行结果(每题5分,共15分)
1.#include
main()
{
int x,m,n,a,b;
m=n=a=b=8;
x=(m=a>b)&&(n=a>b);
printf(“x=%d, m=%d, n=%d\n”,x,m,n);
}
2. #include
main()
{
int a,b,c;
a=2;b=3;c=1;
if(a>b)
if(a>c)

printf(“%d\n”,a);
else

printf(“%d\n”,b);
printf(“end\n”);
}
3.#include
main()
{
int s=0,k;
for(k=7;k>=0;k--)
{

switch(k)

{

case 1;

case 4;

case 7;

s++;

break;

case 2;

case 3;

case 6;

Break;

case 0;

case 5;

s+=2;

break;
}
}
printf(“s=%d\n”,s)
}
四、程序设计题(每题10分,共20分)
1.整形数组a有五个元素,其值分别为:1、2、3、4、5,移动该数组的数,使其变成2、3、4、5、1
2. 用户从键盘输入一个字符串(字符中不包含空格),当输入回车时认为输入结束,统计输入字符串中小写英文字母、大写英文字母、数字字符、其他字符的个数

回复

使用道具 举报

千问 | 2016-8-18 07:15:52 | 显示全部楼层
1、D2、D(值分别为X=6、Y=4、Z=12)3、D4、B(问号不能做标识符)5、C6、D(一个字符占2个字节,\n有两个字符占4个字节)7、D8、A(正确应是:char c1;int x;)9、A(a void main(){
int a[5]={1,2,3,4,5};
int t,i;printf(
回复

使用道具 举报

千问 | 2016-8-18 07:15:52 | 显示全部楼层
观察下给出的测试数据,可以得出一个规律n的立方刚好是n个连续奇数之和,可以利用这点来写程序。本来是想不利用这个规律使用穷举法来写的,但是输出的结果跟测试数据有点不一样,有些数可以有多种组合。#includeintfind_odd(intodd[],intn){inti,o;if(n%2
回复

使用道具 举报

千问 | 2016-8-18 07:15:52 | 显示全部楼层
1、D 2、D(值分别为X=6、Y=4、Z=12) 3、D 4、B(问号不能做标识符) 5、C 6、D(一个字符占2个字节,\n有两个字符占4个字节) 7、D 8、A(正确应是:char c1;int x;) 9、A(a<1为假,其后的不再运算所以a=2) 10、C 11、A 12、C 13、A(在main函数
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行