提示:内容已经过期谨慎付费,点击上方查看最新答案
C君带你玩编程
执行以下程序段后,x的值为______。
int a=14,b=15,x;
char c='A';
x=(a && b) && (c < 'B');以下不构成无限循环的语句或语句组是________。
- 若有定义“int a[5],*p=a;”,则对a数组元素不正确的引用是______。
设有两字符串“Good”、“Morning”分别存放在字符数组 str1[10]、str2[10]中,下面语句中能把“Morning”连接到“Good”之后的是______。
有以下程序:
#include"stdio.h"
int f(int x);
void main()
{ int n=1,m;
m=f(f(f(n))); printf("%d ",m);
}
int f(int x)
{ return x*2; }
程序运行后的输出结果是_______。- 以下叙述中错误的是_________。
- if语句的基本形式是:if (表达式) 语句,以下关于“表达式”值的叙述中正确的是______。
设fp已定义,执行语句fp=fopen("file","w");后,以下针对文本文件file操作的叙述中,正确的是______。
以下程序的执行结果是__________。
#include"stdio.h"
void main()
{int a[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};
int i,s=0;
for(i=0;i < 4;i++)
s+=a[i][1];
printf("%d",s);
}- 定义:int a=7; float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/-4的值是______。
- 如果将一个函数的返回值类型说明为void,则表示_________。
已知字符′A′的ASCII码值是65,字符变量c1的值是′A′,c2的值是′D′。执行语句printf("%d,%c",c1,c2-2);后,输出结果是______。
有以下程序:
#include"stdio.h"
void main()
{ int i, t[][3]={9,8,7,6,5,4,3,2,1};
for(i=0;i < 3;i++)
printf("%d ",t[2-i][i]);
}
程序运行后的输出结果是__________。定义变量“int x, *y=&x;”,则下列函数调用中错误的是_____。
有以下程序:
#include"stdio.h"
#define N 4
void main()
{ int x[N][N]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},y[N],i;
for(i=0;i < N;i++)
y[i]=x[i][i]-x[i][N-1-i];
for(i=0;i < N;i++)
printf("%d, ", y[i]);
}
程序运行后的输出结果是__________。以下程序段的输出结果是______。
char ch=′A′;
int k=012;
printf("%c,%d,",ch,ch,k);
printf("k=%d ",k);- 以下叙述正确的是________。
有以下程序
#include"stdio.h"
void main()
{
int x=23;
do
{
printf("%2d", x--);
} while( !x );
}
程序的执行结果是_______。- 执行下面的_______操作后,文件的读写指针不指向文件首。
- 以下叙述中正确的是_________。
有以下程序段:
char name[20];
int num;
scanf("name=%s num=%d",name, &num);
当执行上述程序段,并从键盘输入:name=Lili num=1001 < 回车 >后,name的值为__________。下面程序段的运行结果是______。
char a[]="language",*p;
p=a;
while(*p!='u') {
printf("%c",*p-32);
p++;
}- 已知 char a=222;执行语句a=a&052;后,变量a的值是______。
设有如下函数定义
int fun( int k )
{ if (k < 1)
return 0;
else if(k==1)
return 1;
else
return fun(k-1)+1;
}
若执行调用语句:n=fun(3);,则函数fun总共被调用的次数是_______。若有定义语句:
char s[10]="1234567";
则strlen(s)的值是__________。执行下面程序段的输出结果为______。
int x=13,y=5;
printf("%d",x%=(y/=2));有以下程序:
#include"stdio.h"
#define N 4
void main()
{ int x[][N]={{1,2,3},{4},{5,6,7,8},{9,10}},y[N],i;
for(i=0;i < N;i++)
y[i]=x[i][i];
for(i=0;i < N; i++)
printf("%d,", y[i]);
}
程序运行后的输出结果是__________。有如下程序段
for(i=0;i < 10;i++)
if(i > 5) break;
则循环结束后i的值为______。表达式 “a=3*4,a*5,a+18 ”的值是______。
- 有关文件是否结束检测函数feof()的说法中,正确的是______。
- do...while语句的循环体至少执行1次,while和for循环的循环体可能一次也不执行。
- 在ISO/ANSI 1999规定中,允许将变量声明放在程序中的任何位置。
- 用scanf()函数输入浮点数时,可以在格式说明符中指定数据宽度和小数位数。
- 表达式 c=(fgetc(fp))!=EOF的功能是从fp指向的文件中读取字符并判断文件是否结束。
- 在switch语句中,每一个case后的常量表达式的值不能相同,因为选择结构中只允许一个分支所对应的语句组被执行。
- 如果某个函数在定义时省略了返回值类型,则默认的返回值类型是int。
- 在使用函数scanf输入数据时必须与函数参数指定的输入格式一致。
- 一个共用体变量可以有多个数据成员,这些数据成员共享同一个存储空间,但如果空间不够用可以临时由系统分配。
- 定义一维数组并同时进行全部数组元素初始化时,可以省略数组的长度说明。
在循环外的语句不受循环的控制,在循环内的语句也不受循环的控制。
用"rb"方式打开的文件必须是已经存在的文件。
- 默认形式的实型常量为float类型。
(ch >='0' ) && (ch< ='9')是判断字符变量ch的值是否为数字字符的表达式。
- 用float定义的浮点型变量(ANSI标准)在内存占4个字节,输入/输出格式符是%f。
若有定义:int a[10];,使用数组元素时,下标的最小值是1,最大值是10。
- 复合语句中可以定义变量,还可以嵌套使用复合语句。
- 不同函数的形式参数不能使用相同名称的标识符。
- 使用转义字符可输出ASCII码表中的任一字符。
所有关系运算符的运算优先级相同。
- 在C语言中,所用自定义的函数,在使用前均需进行函数说明。
- 在C语言中,扩展名为.h的文件称为头文件,常用于组织C标准函数库中的函数。
- 机器语言与硬件平台相关,但汇编语言和高级语言与硬件平台无关。
- 预处理命令的前面必须加一个#号。
- 条件可以是任何类型的表达式,如逻辑型,关系型,数值型等,单个已赋过值的变量或常量也可以作为表达式的特例。
- void 类型的指针不指向某种类型的数据,所以没有意义。
- 共用体可以作为结构体的成员,但结构体不能作为共用体的成员。
- int i=1;while(1) i++; 是一个死循环。
二元运算符均可以和赋值运算符构成复合的赋值运算符。
- C语言中,do-while语句构成的循环只能用break语句退出。
执行语句for(i=1;i++< 4; );后,变量i的值是4。
A:false B:0 C:1 D:true
答案:1
A:n=0;while (1) { n++;} B:for(n=0,i=1; ; i++) n+=i; C:n=0;do {++n;} while (n < = 0); D:n=10;while (n); {n--;}
答案:n=0; do{++n;}while(n<=0);
A:*(a+0) B:*&a[4] C:a+2 D:*(p+2)
答案:a+2
A:strcpy(str1,str2); B:strcat(str1, "Morning"); C:strcpy(str1, "Morning"); D:strcat("Good" ,str2);
答案:strcat(str1,"Morning");
A:8 B:1 C:2 D:4
答案:8
A:printf是C语言提供的输出语句。 B:函数通常分为库函数和用户自定义函数两种。 C:函数体一般由一组C语句序列组成。 D:函数是C程序的基本组成单位。
AI参考:正确选项是【A:printf是C语言提供的输出语句。】解释:A选项中说printf是C语言提供的输出语句,实际上printf是C语言中的一个库函数,用于格式化输出。它不是C语言提供的输出语句,因此这个叙述是错误的。其他选项都是正确的,B选项说明了函数的分类,C选项描述了函数体的构成,D选项表明了函数在C程序中的地位,它是基本组成单位。'
A:必须是逻辑值 B:可以是任意合法的数值 C:必须是正数 D:必须是整数值
A:只能写不能读 B:写操作结束后可以从头开始读 C:可以随意读和写 D:可以在原有内容后追加
A:13 B:20 C:19 D:11
AI参考:程序的执行结果是**C:19**。程序中定义了一个4x4的整数数组,然后遍历数组,并将每行的第二个元素(从0开始计数)加到变量s中。最后一行输出s的值,即19。这个程序的逻辑是打印数组每行的第二个元素之和,选项C是唯一满足这个条件的选项。'
A:2.500000 B:3.500000 C:2.000000 D:0.000000
A:该函数是main函数,是程序运行的起点。 B:该函数不能返回任何值。 C:该函数可以返回基本类型的值。 D:该函数可以返回任意类型的值。
A:A,68 B:A,B C:65,B D:65,66
A:3 5 7 B:7 5 1 C:3 6 9 D:7 5 3
A:scanf("%d", &y); B:printf("%d", *y); C:printf("%d", x); D:scanf("%d", &x);
AI参考:正确答案是D: scanf("%d", &x);。在题目中定义了变量x和y,其中y是指向x的指针。因此,变量x的值可以通过y来访问和修改。对于选项A、B和C,由于变量x和y之间是通过指针关联的,所以这些函数调用都是正确的。而选项D中的scanf("%d", &x);是将x作为整型变量而不是作为指针进行读取,所以会报错。因此,答案为D。'
A:0, 1, 2, 3, B:-12, -3, 0, 0, C:-3, -1, 1, 3, D:-3, -3, -3, -3,
A:输出项与格式描述符个数不符,输出为零值或不定值。 B:A,65,k=10 C:A,65,12k=12 D:因变量类型与格式描述符的类型不匹配输出无定值。
A:do-while语句和while-do构成的循环功能相同。 B:while-do语句构成的循环,当while语句中的表达式值为非0时结束循环。 C:do-while语句构成的循环,必须用break语句退出循环。 D:do-while语句构成的循环,当while语句中的表达式值为0时结束循环。
AI参考:正确选项是:B:while-do语句构成的循环,当while语句中的表达式值为非0时结束循环。解释:A选项中的do-while语句和while-do语句构成的循环虽然都是循环结构,但它们的执行方式是不同的。do-while循环会在执行一次while后面的语句后再判断条件,只要条件满足就会一直循环,直到遇到break或者循环条件不再满足为止。而while-do循环则会先判断条件,再执行语句,只要条件不满足就会停止循环。所以A选项错误。C选项中,do-while循环在循环体中不会主动使用break语句退出循环,除非遇到异常或者需要提前结束循环的情况。如果需要退出do-while循环,只能是在while后面的表达式值为0时结束循环。所以C选项错误。D选项中,while-do循环只有在while后面的表达式值为0时才会停止循环,否则会一直执行循环体中的语句,直到表达式值为0为止。而do-while循环会在执行一次while后面的语句后再判断条件,只要条件满足就会一直循环,当表达式值为0时结束循环。所以D选项错误。因此,只有B选项是正确的。B选项中描述了while-do语句构成的循环的执行方式,即当while后面的表达式值为非0时,会执行循环体中的语句,直到表达式值为0为止。这与do-while循环的执行方式相似,因此B选项是正确的。'
A:不输出任何内容 B:陷入无限循环 C:输出23 D:输出321
A:rewind(fp) B:fseek(fp,0L,2) C:fopen("f1.c","r") D:fseek(fp,0L,0)
A:结构体类型中各个成员的类型必须是一致的。 B:一个结构体类型可以由多类型相同或不同的成员组成。 C:结构体类型中的成员只能是C语言中预先定义的基本数据类型。 D:在定义结构体类型时,编译程序就为它分配了内存空间。
AI参考:正确选项是B:一个结构体类型可以由多类型相同或不同的成员组成。解释:A选项描述的是结构体成员的类型一致性,但未明确说明是否可以是不同类型。C选项描述的是结构体成员的基本数据类型限制,但未考虑到其他类型,如自定义类型等。D选项描述的是结构体类型的内存分配,但未明确指出在定义时是否已经分配。而B选项明确指出一个结构体类型可以由多类型相同或不同的成员组成,这是符合C++语言中结构体定义的规则的。当定义一个结构体类型时,编译器并不会为其分配内存空间,只有在创建该类型的对象时,才会为其分配内存空间。因此,B选项是正确的。'
A:Lili num= B:name=Lili C:name=Lili num=1001 D:Lili
A:LANGUAGE B:LANG C:langUAGE D:language
A:245 B:10 C:244 D:222
A:5 B:4 C:3 D:2
A:8 B:9 C:7 D:10
A:0 B:3 C:2 D:1
AI参考:输出结果为:C:2。解释:在执行 printf 函数时,x%=(y/=2) 这一行代码,y/=2 表示将 y 除以 2 并赋值给 y,相当于 y = y / 2。由于 x%=(y/=2) 的作用是将 x 对 y 取余数后再赋值给 x,所以这个语句的执行结果是先将 x 的值取模运算得到 x % 2,然后将 x 的值再次赋值为 x % 2 取模的结果。根据 C 语言中取模运算的规则,x % 2 的结果为 1,所以最终 x 的值为 13 % 2 = 1,而 y 的值为 5 / 2 = 2。因此,输出结果为 2。'
A:1,2,3,4, B:1,4,5,9, C:3,4,8,10, D:1,0,7,0,
A:6 B:10 C:9 D:5
AI参考:答案:D解析:程序段为for循环,循环条件为i小于10,当i大于5时,执行break跳出循环,所以循环结束后i的值为5。'
A:78 B:60 C:12 D:30
A:可用于二进制文件也可用于文本文件 B:只用于二进制文件 C:不能用于二进制文件 D:只能用于文本文件
A:错 B:对
A:对 B:错
A:错 B:对
A:对 B:错
A:错 B:对
A:对 B:错
A:错 B:对
A:错 B:对
A:错 B:对
A:对 B:错
A:对 B:错
A:错 B:对
A:对 B:错
AI参考:这个表达式是对字符变量 `ch` 进行判断的表达式,其含义是:判断 `ch` 是否是一个数字字符。如果 `ch` 的值大于等于 0 小于等于 9(数字字符的范围),则该表达式结果为真,否则为假。因此,正确答案是 【B】错。这个表达式不能完全判断 `ch` 是否为数字字符,因为它只考虑了数字字符的范围,而忽略了其他可能的字符。为了更准确地判断 `ch` 是否为数字字符,应该使用特定的字符判断函数或方法。"
A:错 B:对
AI参考:这个问题的正确答案是A,错误。float在内存中占用的字节数可能因系统和平台而异,一般情况下,在许多系统上,它通常占用4个字节。然而,这个数字并非恒定不变的,而且标准并不保证它一定为4个字节。所以该说法是不准确的。另外,输入/输出格式符是%f,这是对的。但要注意的是,浮点数变量的输入/输出格式符%f仅适用于输出浮点数,而不能用于输入浮点数。输入浮点数时应该使用%f或%lf(用于double类型)。所以答案为A,错误。'
A:对 B:错
A:对 B:错
A:错 B:对
A:对 B:错
A:错 B:对
A:错 B:对
A:对 B:错
A:错 B:对
A:对 B:错
A:错 B:对
A:错 B:对
A:对 B:错
A:对 B:错
A:错 B:对
A:错 B:对
A:对 B:错