求助下列问题
3.下面哪个表达式的值为4()A. 11/3+0.5
B. 11.0/3
C. (int)11/3
D. (int)(11.0/3+0.5)
4.下面属于合法的C语言长整型常量的是()
A.123369852147
B. 0L
C. 3E4
D.-123369852147
5.下列程序的运行结果是(
#include<stdio.h>
int main(){
int i;
for(i=0;i<=6;i++);
printf("%d",i);
return 0;
}
A.6
B.7
C.0123456
D.-123369852147
6.运行如下程序,如果输入abc,则输出结果是(
#include<stdio.h>
#include <string.h>
int main(){
char ss="12345";
gets(ss);
strcat(ss,"6789");printf("%s",ss);return 0;
}
A. abc12345
B.abc6789
C. abc456789
D. abc45
8.不合法的main函数命令行参数形式是
A. main(int a, char *c[])
C. main(int argv, char **argc)
B. main(int argy, char *argc[])
D. main(int argv, char *argc)
10.关于下列程序,正确的说法是(
#include<stdio.h>
int main(){
int a=5,b=3,c=3;
if(b+c=a)
printf("###");
else
printf("***");
return 0;
}
A.输出###
B.输出***
C.有语法错,无法运行
D.能运行,无输出
15.设有定义语句int(*D(int);,则以下叙述正确的是
A.f是基类型为int的指针变量
B.f是指向函数的指针变量,该函数具有一个int类型的形参
C.f是指向int类型一维数组的指针变量
D.f是函数名,该函数的返回值是int类型的地址
3. D. (int)(11.0/3+0.5)。这个表达式可以看作是将11.0/3的结果四舍五入取整得到整数4。
4. A. 123369852147 和 D. -123369852147。这两个常量都是长整型的整数常量,可以直接使用。
5. B. 7。for循环中的分号表示循环体为空,因此i会一直增加到7,然后跳出循环,输出i的值为7。
6. C. abc456789。gets函数会读取用户输入的字符串,替换原有的字符串ss,然后strcat函数会将"6789"拼接在后面。因此输出结果为"abc456789"。
8. D. main(int argv, char *argc)。正确的形式应该是main(int argc, char *argv[]),其中argc表示参数个数,argv是一个指向参数字符串数组的指针。
10. C. 有语法错,无法运行。if语句中的判断条件应该是b+c==a,而不是b+c=a。因此会出现语法错误,无法编译运行。
15. B. f是指向函数的指针变量,该函数具有一个int类型的形参。定义语句int(*D(int);表示D是一个函数指针,指向一个具有一个int类型形参的函数,返回值为int类型。因此选项B是正确的。 问题 3:下面哪个表达式的值为4()
A. 11/3+0.5
B. 11.0/3
C. (int)11/3
D. (int)(11.0/3+0.5)
回答:D. (int)(11.0/3+0.5)
这个表达式先进行除法运算,得到11.0/3的结果,约等于3.6667。然后加上0.5,得到4.1667。最后使用整型强制转换将浮点数转换为整数,去掉小数部分,变成4。
问题 4:下面属于合法的C语言长整型常量的是()
A.123369852147
B. 0L
C. 3E4
D.-123369852147
回答:B. 0L
在C语言中,长整型常量可以以十进制、八进制、十六进制表示,并且可以带有后缀L或l。选项B中的0L表示一个长整型常量。
问题 5:下列程序的运行结果是
#include<stdio.h>
int main(){
int i;
for(i=0;i<=6;i++);
printf("%d",i);
return 0;
}
A. 6
B. 7
C. 0123456
D. -123369852147
回答:B. 7
这段程序使用了一个带有分号的for循环,循环体为空语句。所以实际上循环并没有执行任何操作。此时i的值为7,然后输出结果为7。
问题 6:运行如下程序,如果输入abc,则输出结果是
#include<stdio.h>
#include <string.h>
int main(){
char ss="12345";
gets(ss);
strcat(ss,"6789");
printf("%s",ss);
return 0;
}
A. abc12345
B. abc6789
C. abc456789
D. abc45
回答:C. abc456789
这段程序先将字面量字符串"12345"赋值给字符数组ss,然后使用gets函数读取用户的输入,假设输入为"abc",则将"abc"存储到ss中,覆盖掉原来的内容。接下来使用strcat函数将"6789"追加到ss的末尾,得到"abc456789"。最后输出结果为"abc456789"。
问题 8:不合法的main函数命令行参数形式是
A. main(int a, char *c[])
B. main(int argy, char \*argc[])
C. main(int argv, char **argc)
D. main(int argv, char *argc)
回答:B. main(int argy, char \*argc[])
命令行参数形式应该是main(int argc, char *argv[]),其中 argc 表示命令行参数个数,argv 是一个指向字符串数组的指针,每个字符串存储一个命令行参数。选项B中的 argy 是不合法的参数名。
问题 10:关于下列程序,正确的说法是
#include<stdio.h>
int main(){
int a=5,b=3,c=3;
if(b+c=a)
printf("###");
else
printf("***");
return 0;
}
A. 输出###
B. 输出***
C. 有语法错,无法运行
D. 能运行,无输出
回答:C. 有语法错,无法运行
这段程序中的 if 语句条件部分使用了赋值操作符 =,它应该使用相等操作符 ==。所以这是一个语法错误,在编译时会报错,无法运行。
问题 15:设有定义语句int(*D(int);,则以下叙述正确的是
A. f是基类型为int的指针变量
B. f是指向函数的指针变量,该函数具有一个int类型的形参
C. f是指向int类型一维数组的指针变量
D. f是函数名,该函数的返回值是int类型的地址
回答:B. f是指向函数的指针变量,该函数具有一个int类型的形参
根据给定的定义语句 int(*D(int),D 是一个函数,它接受一个 int 类型的参数,并返回一个指向 int 类型的指针变量。因此,f 是一个指向函数的指针变量,该函数具有一个 int 类型的形参。
希望能解答到你的问题。如果还有其他问题,请随时提问。
球一个最佳答案谢谢啦!这对我非常重要!{:10_254:}{:10_254:}{:10_254:}
页:
[1]