一些C语言题

来源:百度知道 编辑:UC知道 时间:2024/05/31 02:06:50
要问的东西写在题号下面.
3.7、要为字符型变量a赋初值,下列选项中哪一个是正确的( )。
A、char a=’\0’; B、char a=”3”; C、char a=A; D、前面都不对
A选项'\0'表示什么? C选项为什么错了?

3.11、如下程序的执行结果是( )。
main( )
{
int n=1
printf(“%d%d%d\n”,n++, ++n, n--); /*如加上括号(n++, ++n, n--)结果是什么?*/
}
A、1 1 1 B、1 2 2 C、1 2 3 D、1 2 1
++n的结果是什么? 加上括号后结果会出现什么结果?为什么?

3.16、C的double类型数据可以精确表示任何实数。
判断题

5.8、以下程序的执行结果是 。
#include<stdio.h>
main( )
{
int a, b, c, d, x;
a=c=0,b=1,d=20;
if(a)d=d-10;
else if(!b)
if(!c)x=15;
else x=25;
printf(“d=%d\n”,d);
}
详解一下

6.8、下列程序运行后的输出结果是 。
#include<stdio.h>
main( )
{
int i, j;
for(i=4;i>=1;i--)
{
printf(“*”);
for(j=1;j<=4-i;j+ +)
printf(“*”);
printf(“\n”)
}
}
同上

3.7、
A选项'\0'表示什么? C选项为什么错了?
解析:'\0'表示字符串的结束标志,也是一个字符,asc码值是0
C选项中的char a=A,除非你定义了一个名称是A的字符型常量,否则程序会认为A是变量,无法找到内容

3.11、如下程序的执行结果是( )。
解析:++n和n++分别表示先自加后使用和先使用后自加,不过在当前语句结束后都会对n进行加1操作
结果是1 1 1 如果加上括号的话 会输出3和两个任意数,因为用括号包含起来的只是一个逗号表达式,后两个%d找不到对应输出项

3.16、C的double类型数据可以精确表示任何实数。
解析:错,doble类型小数点最后几位是不准确值

5.8、以下程序的执行结果是 。
#include<stdio.h>
main( )
{
int a, b, c, d, x;
a=c=0,b=1,d=20; //虽然不规范,但是也能将a和c都赋值为0
if(a)d=d-10; //如果a不等于0 d=d-10
else if(!b) //否则如果b=0
if(!c)x=15; //如果c=0那么x=15
else x=25; //如果c不等于0 x=25
printf(“d=%d\n”,d);
}
详解一下
解析:C语言中0代表假,非0代表真
6.8、下列程序运行后的输出结果是 。
#include<stdio.h>
main( )
{
int i, j;
for(i=4;i>=1;i--)
{
printf(“*”);
for(j=1;j<=4-i;j+ +)
printf(“*”);
printf(“\n”)
}
}
同上
解析:就一个嵌套循环,运