C语言题收录(七)

本文介绍了C语言的基础知识,包括逻辑运算符的优先级、条件判断、指针使用、数组与字符串、变量初始化等。通过实例解析了常见的编程问题,如变量赋值、逻辑表达式计算、函数调用等,帮助读者深入理解C语言的语法和逻辑。
摘要由CSDN通过智能技术生成

1、设a=2,b;则执行b=a&&1;语句后,b的结果是____。

  • A:0
  • B:1
  • C:2
  • D:3
解析

因为=比&&的优先级低,所以先执行逻辑与操作。a=2是非零,即为真,所以a&&1为真,真为1,则b=1。

答案:B

2、以下程序的运行结果是____。

int main()
{
	int a=5,b=0,c=0;
	if(a=b+c)  printf("***\n");
	else  printf("$$$\n");
	return 0;
}
  • A:$$$***
  • B:***$$$
  • C:***
  • D:$$$
解析

先判断if语句。由于赋值语句a=b+c返回值为0,故执行else语句。

答案:D

3、下面程序段的运行结果是____。

char *p="%d,a=%d,b=%d\n";
int a=11,b=10,c;
c=a%b; p+=3;
printf(p,c,a,b);
  • A :1,a=111,b=10;
  • B:a=1,b=111;
  • C:a=111,b=10;
  • D:以上结果都不对
解析

题中字符指针p指向了字符串“%d,a=%d,b=%d\n”,c=a%b=11%10=1,p+=3使指针p向后移动了3个字符的位置。printf(p,c,a,b)相当于printf(“a=%d,b=%d\n”,c,a,b);,格式控制串指明输出两个数据,输出项有3项,则最后一项不输出,所以最后结果是a=1,b=11。

答案:D

4、以下程序的输出结果是____。

main(){
	printf("%f",2.5+1*7%2/4);
}
  • A:2.50000
  • B:2.75000
  • C:3.37500
  • D:3.00000
解析

优先级“%”>“”和“/”>“+”和“-”,计算过程:2.5+17%2/4=2.5+1*1/4=2.5+1/4=2.5+0=2.5。
“%f”表示输出浮点型,保留6位小数,所以输出的结果为2.500000。

答案:A

5、有如下程序,该程序的输出的结果是____。

int main()
{
	int i='\X80',j='\200';
	printf("i=%d,j=%d",i,j);
	return 0;
}
  • A:-128,-128
  • B:80,200
  • C:128,128
  • D:128,200
解析

‘\X’开头代表十六进制的数,因此将’\X80’换算成十进制为128;
'\200’代表八进制数,转换成十进制为128。

答案:C

6、若在定义语句int a,b,c,*p=&c之后,接着执行以下选项中的语句,能正确执行的是____。

  • A:scanf(“%d”,a,b,c);
  • B:scanf(“%d%d%d”,a,b,c);
  • C:scanf(“%d”,p);
  • D:scanf(“%d”,&p);
解析

程序语句int a,b,c,*p=&c;定义了3个整型变量a,b,c和一个整型指针变量p,并且把变量c的地址赋给p。scanf函数的一般形式为"scanf(“格式控制字符串”,地址列表)",其中的地址列表应当是存放输入数据变量的地址。

答案:C

7、在VC上执行下列语句后,a的值是____。

int a=3;
a+=--a*a;
  • A:12
  • B:24
  • C:20
  • D:6
解析

a+=–aa;
等价于a=a-1; a=a+a
a;

答案:D

8、可以用数组名作为字符串变量整体输出的合法的数组说明语句是____。

  • A:char a[] = “string”;
  • B:int a[5]={0,1,2,3,4,5};
  • C:char a = “string”;
  • D:char a[] = {“1”,“2”,“3”,“4”,“5”};
解析

B中数组长度不够,D中数组未给出长度。

答案:A

9、设函数中有整型变量n,为保证其在未赋值的情况下初值为0,应选择的存储类别是____。

  • A:auto
  • B:register
  • C:static
  • D:auto或register
解析

在C语言中,对于静态局部变量static,编译时会自动给数值型变量赋初值0或者给字符变量赋初值"\0"。

答案:C

10、以下能正确定义数组并正确赋初值的语句为____。

  • A: int N=3,a[N][N];
  • B:int b[1][2]={{1}.{3}};
  • C:int c[2][]={{1,2},{3,4}};
  • D:int d[3][2]={{1,2}.{3,4}};
解析

A无法用变量定义数组大小;
B二维数组定义错误;
C二维数组缺少第二维大小。

答案:D

学海无涯苦做舟

这里写图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员丶星霖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值