c语言试题谢谢
16)有以下程序段charch;intk;ch='a';k=12;printf("%c,%d,",ch,ch,k);printf("k=%d\n",k);已知字符a的AS...
16)有以下程序段
char ch; int k;
ch='a'; k=12;
printf("%c,%d,",ch,ch,k); printf("k=%d\n",k);
已知字符a的ASCll十进制代码为97,则执行上述程序段后输出结果是
A)因变量类型与格式描述符的类型不匹配输出无定值
B)输出项与格式描述符个数不符,输出为零值或不定值
C)a,97,12k=12 D)a,97,k=12 展开
char ch; int k;
ch='a'; k=12;
printf("%c,%d,",ch,ch,k); printf("k=%d\n",k);
已知字符a的ASCll十进制代码为97,则执行上述程序段后输出结果是
A)因变量类型与格式描述符的类型不匹配输出无定值
B)输出项与格式描述符个数不符,输出为零值或不定值
C)a,97,12k=12 D)a,97,k=12 展开
6个回答
展开全部
应该选择D:
为什么呢?
这是因为在printf语句中有输出控制格式两个,而对应的变量却有3个,也就是说多了一个,但是编译器会自动取走前面的两个(根据前面的控制输出符的个数来决定)。
后面正常!
但是也可以不让第二个ch的值以整数形式输出,而上后面的第三个参数k以整数的形式输出。只需要将%d改成%*d就可以了!
为什么呢?
这是因为在printf语句中有输出控制格式两个,而对应的变量却有3个,也就是说多了一个,但是编译器会自动取走前面的两个(根据前面的控制输出符的个数来决定)。
后面正常!
但是也可以不让第二个ch的值以整数形式输出,而上后面的第三个参数k以整数的形式输出。只需要将%d改成%*d就可以了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
B
printf()函数的调用格式为:
printf("<格式化字符串>", <参量表>);
其中格式化字符串包括两部分内容: 一部分是正常字符, 这些字符将按原
样输出; 另一部分是格式化规定字符, 以"%"开始, 后跟一个或几个规定字符,
用来确定输出内容格式。
参量表是需要输出的一系列参数, 其个数必须与格式化字符串所说明的输出
参数个数一样多, 各参数之间用","分开, 且顺序一一对应, 否则将会出现意想
不到的错误。
printf()函数的调用格式为:
printf("<格式化字符串>", <参量表>);
其中格式化字符串包括两部分内容: 一部分是正常字符, 这些字符将按原
样输出; 另一部分是格式化规定字符, 以"%"开始, 后跟一个或几个规定字符,
用来确定输出内容格式。
参量表是需要输出的一系列参数, 其个数必须与格式化字符串所说明的输出
参数个数一样多, 各参数之间用","分开, 且顺序一一对应, 否则将会出现意想
不到的错误。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
D 多个参数无所谓的,因为"%c,%d,"里找不到它,printf函数也不会去解析这个参数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1-B C语言就三种基本类型。
2-C 考察运算符的运算原理,即并非所有运算符都会被执行到,该题中,m=a>b的结果是m=0,对于逻辑与而言0与上任何值都是0,因此,后面的表达式不在执行,因此n仍为初始值1.
3-A x为整型变量,p为指针变量,p用于存储变量的地址值。
4-C AC互斥,因此A错;函数调用可在任何函数中,B错;mian函数位置可任意,D错。
5-D xy两数组并不等价,为数组初始化字符串时,会自动在末位增加结束符‘\0’,额外需要分配一个字节空间,因此数组x所占字节数为8,而y所占字节数为7。
6-
7-D 在复合语句中定义的变量只在复合语句中有效,不是本函数。
8-C x初始值为-1,执行循环体后,x值为1,!x的值为0,即表达式不成立,循环不再执行,因此只执行一次。
9-B 元素a[i][j]之前已有i行,每行n列,因此前i行有i*j个元素,在第i行j列之前又有j个元素,因此总个数为 i*n+j 。
10-A C中共三种基本结构。
11-C a [2][3]数组有2行3列,其初始化方式为按行初始化,而后面初始化3行,有矛盾。
12-B 用户标识符不能用关键字,A错,不能有特殊符号,C、D错。.
-C x为实型,因此x=1.0,3/2为整型运算,结果也为整型,而且向下取整,结果为1,所以y=1.0+1=2.0.
-A char为1字节,int为2字节,long为4字节,float为4字节,double为8字节。
13-B 表达式为逗号表达式,整个表达式为最右边表达式的值,如式中第三项为b++,则b=6,a+b=2+6=8;如果第三项为B++,则a+b=2+5=7.
14-B 没有好解释的,B对,其他自然错。
15-D 该函数的功能即向屏幕输出一个字符型值,其他均不可。
16-C 字符型常量是有一对单引号引起来的单个字符或是转义字符,不能包含多个字符,C错。
14-
2-C 考察运算符的运算原理,即并非所有运算符都会被执行到,该题中,m=a>b的结果是m=0,对于逻辑与而言0与上任何值都是0,因此,后面的表达式不在执行,因此n仍为初始值1.
3-A x为整型变量,p为指针变量,p用于存储变量的地址值。
4-C AC互斥,因此A错;函数调用可在任何函数中,B错;mian函数位置可任意,D错。
5-D xy两数组并不等价,为数组初始化字符串时,会自动在末位增加结束符‘\0’,额外需要分配一个字节空间,因此数组x所占字节数为8,而y所占字节数为7。
6-
7-D 在复合语句中定义的变量只在复合语句中有效,不是本函数。
8-C x初始值为-1,执行循环体后,x值为1,!x的值为0,即表达式不成立,循环不再执行,因此只执行一次。
9-B 元素a[i][j]之前已有i行,每行n列,因此前i行有i*j个元素,在第i行j列之前又有j个元素,因此总个数为 i*n+j 。
10-A C中共三种基本结构。
11-C a [2][3]数组有2行3列,其初始化方式为按行初始化,而后面初始化3行,有矛盾。
12-B 用户标识符不能用关键字,A错,不能有特殊符号,C、D错。.
-C x为实型,因此x=1.0,3/2为整型运算,结果也为整型,而且向下取整,结果为1,所以y=1.0+1=2.0.
-A char为1字节,int为2字节,long为4字节,float为4字节,double为8字节。
13-B 表达式为逗号表达式,整个表达式为最右边表达式的值,如式中第三项为b++,则b=6,a+b=2+6=8;如果第三项为B++,则a+b=2+5=7.
14-B 没有好解释的,B对,其他自然错。
15-D 该函数的功能即向屏幕输出一个字符型值,其他均不可。
16-C 字符型常量是有一对单引号引起来的单个字符或是转义字符,不能包含多个字符,C错。
14-
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
D
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询