下面的程序片断所表示的数学函数关系是A
y = -1;
if(x != 0) y = 1; if(x > 0) y = 1; else y = 0;
A、
B、
C、
D、
以下程序段的输出结果是C
int i, j, m = 0;
for(i = 1; i <= 15; i += 4) for(j = 3; j <= 19; j += 4) m++;
printf(“%d\\n”, m);
A、15 B、12 C、20 D、25
fgets(str,n,fp)函数从文件中读入一个字符串,以下正确的叙述是(D)。
A、字符串读入后不会自动加入'\\0' B、fgets函数将从文件中最多读入n个字符 C、fp是file类型的指针
D、fgets函数将从文件中最多读入n-1个字符
下面说明不正确的是(A)。
A、char a[10],*p;p=a=\"china\" B、char a[10],*p=a;p=\"china\" C、char *a;a=\"china\"; D、char a[10]=\"china\";
若有int m=7,n=4;float a=38.4,b=6.4,x;,则执行下列语句后x的值为(D)。 x=m/2+n*a/b+1/2;
A、27.500000 B、28.000000 C、28.500000 D、27.000000
C语言结构体类型变量在程序执行期间(C)。
A、部分成员驻留在内存中 B、只有一个成员驻留在内存中 C、所有成员一直驻留在内存中 D、没有成员驻留在内存中
char h,*s=&h;可将字符H通过指针存入变量h中的语句是(B)。
A、s='H' B、*s='H'; C、s=H; D、*s=H;
下面不正确的字符串常量是(B)。
A、\"0\" B、'abc' C、\"12'12\" D、\" \"
函数调用:strcat(strcpy(str1,str2),str3)的功能是(B)
A、将串str1复制到串str2中后再连接到串str3之后
B、将串str2复制到串str1中后再将串str3连接到串str1之后 C、将串str1连接到串str2之后再复制到串str3之后 D、将串str2连接到串str1之后再将串str1复制到串str3中
设有定义语句char c1=92, c2=92;,则以下表达式中值为零的是C
A、c1|c2 B、c1&c2 C、c1^c2 D、~c2
在一个C程序中(B)。
A、main函数必须出现在固定位置 B、main函数可以在任何地方出现 C、main函数必须出现在所有函数之前 D、main函数必须出现在所有函数之后
有以下程序段 int n=0,p;
do {
scanf(\"%d\n++;
}while(p!=12345&&n<3);
此处do-while循环的结束条件是__D____。
A、p的值等于12345并且n的值大于等于3 B、p的值不等于12345并且n的值小于3 C、p的值不等于12345或者n的值小于3 D、p的值等于12345或者n的值大于等于3
若a、b、c、d都是int类型变量且初值为0,以下选项中不正确的赋值语句是D
A、a=b=c=100 B、d=(c=22)-(b++) C、d++ D、c+b
在C语言中,引用数组元素时,其数组下标的数据类型允许是(D)。
A、任何类型的表达式 B、整型常量 C、整型表达式
D、整型常量或整型表达式
以下程序的输出结果是A
void sub(int x, int y, int *z) { *z = y - x; } main()
{ int a, b, c;
sub(10, 5, &a); sub(7, a, &b); sub(a, b, &c); printf(“%d, %d, %d\\n”, a, b, c); }
A、-5, -12, -7 B、-5, -12, -17 C、5, -2, -7 D、5, 2, 3
C语言中的文件类型只有(A)。
A、ASCII文件和二进制文件两种 B、二进制文件一种 C、文本文件一种
D、索引文件和文本文件两种
为了避免在嵌套的条件语句 if-else 中产生二义性,C语言规定: else子句总是与(B)配对。
A、同一行上的if B、其之前最近的if C、其之后最近的if D、缩排位置相同的if
C语言的switch语句中case后B
A、可为任何量或表达式 B、只能为常量或常量表达式
C、可为常量或表达式或有确定值的变量及表达式 D、只能为常量
C语言程序中必须有的函数是(C)。
A、printf
B、#include \"stdio.h\" C、main D、scanf
C语言中运算对象必须是整型的运算符是(D)。
A、= B、/ C、〈= D、%=
已知x=43,ch='A',y=0;则表达式(x>=y&&ch<'B'&&!y)的值是(C)。
A、语法错 B、0 C、1 D、\"假\"
若变量已正确说明为int类型,要给a、b、c输入数据,以下正确的输入语句是A
A、scanf(“%d%d%d”, &a,&b,&c); B、scanf(“%d%d%d”,a,b,c); C、read(a,b,c)
D、scnaf(“%D%D%D”,&a,&b,&C);
打开文件时,方式“w”决定了对文件进行的操作是(D)。
A、追加写盘 B、可读可写盘 C、只读盘 D、只写盘
sizeof(float)是(D)。
A、一个浮点表达式 B、一个不合法的表达式 C、一种函数调用 D、一个整型表达式
若从终端输入以下数据,要给变量c赋以283.19,则正确的输入语句是D
A、scanf(%8.4f”, &c); B、scanf(%6.2f”, &c); C、scanf(%f”,c) D、scanf(%8f”, &c);
对 for(表达式1; ;表达式3) 可理解为(D)。
A、for(表达式1;表达式3;表达式3) B、for(表达式1;表达式1;表达式3) C、for(表达式1;0;表达式3)
D、for(表达式1;1;表达式3)
C语言中,double类型数据占(C)。
A、4个字节 B、1个字节 C、8个字节 D、2个字节
已知字母a的ASCII十进制代码为97,则执行下列语句后的输出结果为(C)。 char a='a'; a--;
printf(\"%d,%c\\n\
A、98,c
B、格式描述和输出项不匹配,输出无定值 C、b,c
D、a--运算不合法,故有语法错
下述对C语言字符数组的描术中错误的是(C)
A、字符数组可以存放字符串
B、字符数组中的字符串可以整体输入、输出
C、可以在赋值语句中通过赋值运算符\"=\"对字符数组整体赋值 D、不可以用关系运算符对字符数组中的字符串进行比较
以下标识符中,不能作为合法的C用户定义标识符的是(D)。
A、IF B、_123 C、a3_b3 D、void
在Turbo C中,下面的定义和语句是合法的: file *fp;fp=fopen(\"a.txt\
int a[3][4]={{1},{5},{9}}; 它的作用是将数组各行第一列 的元素赋初值,其余元素值为0。Y
若有宏定义:#define S(a,b) t=a;a=b;b=t由于变量t没定义, 所以此宏定义是错误的。N
关系运算符<= 与 == 的优先级相同。N 结构体类型只有一种。N
C语言的switch语句中case后可为常量或表达式或有确定值的变量及表达式.N
#define 和printf 都不是C语句。Y
在C语言中,语句str[3]='\\0'等价于str[3]=0.Y 若有定义和语句:
inta;charc;floatf;scanf(\"%d,%c,%f\若通过键盘输入:
10,A,12.5,则a=10,c='A',f=12.5.Y
typedef可以定义生成新的数据类型.N
/*------------------------------------------------ 【程序设计】
--------------------------------------------------
功能:对任意输入的 x,用下式计算并输出 y 的值。 5 x<10 y= 0 x=10 -5 x>10
------------------------------------------------*/
#include void VV(); int fun(int n) { /********** Begin **********/ /********** End ***********/ } void main () { intx,y; printf(\"enter x:\"); scanf(\"%d\ y=fun(x); printf(\"x=%d,y=%d\\n\VV(); } void VV() { FILE *IN,*OUT; int i; intiIN; longintiOUT; IN=fopen(\"in.dat\if(IN==NULL) { printf(\"Please Verify The CurrerntDir..it May Be Changed\"); } OUT=fopen(\"out.dat\if(OUT==NULL) { printf(\"Please Verify The Current Dir.. it May Be Changed\"); } for(i=0;i<5;i++) { fscanf(IN,\"%d\iOUT=fun(iIN); fprintf(OUT,\"%ld\\n\ } fclose(IN); fclose(OUT); } 【参考代码】 int m; if(n<10) m=5; else if(n==10) m=0; else m=-5; return m; =============== /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:将1~lim中所有能被3整除的数存放在aa数组中, 在函数中返回元素的个数。 ------------------------------------------------*/ #include void TestFunc(); int fun(intlim,intaa[M]) { /*********Begin**********/ /********** End **********/ } main() { intlimit,i,n; intaa[M]; printf(\"Please input ainteger:\"); scanf(\"%d\ n=fun(limit,aa); for(i=0;i voidTestFunc() { inti,j,array[100],n,lim; FILE *rf, *wf ; rf = fopen(\"in.dat\wf = fopen(\"out.dat\for (j=0; j <= 5; j++) { fscanf(rf, \"%d\ n=fun(lim,array); for(i=0;i 【参考代码】 int n=0; int i; for(i=1;i<=lim;i++) if(i%3==0) aa[n++]=i; return n; =============== /*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 功能:求出数组中最大数和次最大数,并把最大数和a[0]中的数 对调、次最大数和a[1]中的数对调。 ------------------------------------------------------*/ #include int fun ( int * a, int n ) { int i, m, t, k ; for(i=0;i<2;i++) { /**********ERROR**********/ m=0; /**********ERROR**********/ for(k=1;k t=a[i];a[i]=a[m];a[m]=t; } } main( ) { int x, b[N]={11,5,12,0,3,6,9,7,10,8}, n=10, i; clrscr( ); for ( i=0; i 【改错1】 错误 【学生答案】 m=0; 【参】 m=i; ============================================================ 【改错2】 错误 【学生答案】 for(k=1;k 【改错3】 错误 【学生答案】 if(a[k]>a[m]) k=m; 【参】 if(a[k]>a[m]) m=k; /*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 题目:任意输入一个字符,如果是小写字母以大写字母输出, 是大写字母以小写字母输出;否则,按原样输出。 程序有4条错误语句,请改正错误。 -------------------------------------------------------- 注意:不可以增加或删除程序行,也不可以更改程序的结构。 ------------------------------------------------------*/ #include { charch; printf(\"Enter ch:\"); /**********ERROR**********/ ch=getchar(r); /**********ERROR**********/ if(ch>=a&&ch<=z) putchar(ch-32); /**********ERROR**********/ else if(ch>=A&&ch<=Z) putchar(ch+32); /**********ERROR**********/ elseputchar(); } 【改错1】 错误 【学生答案】 ch=getchar(r); 【参】 ch=getchar(); ============================================================ 【改错2】 错误 【学生答案】 if(ch>=a&&ch<=z) 【参】 if(ch>=97&&ch<=122) if(ch>='a'&&ch<='z') ============================================================ 【改错3】 错误 【学生答案】 else if(ch>=A&&ch<=Z) 【参】 else if(ch>='A'&&ch<='Z') else if(ch>=65&&ch<=90) ============================================================ 【改错4】 错误 【学生答案】 elseputchar(); 【参】 elseputchar(ch); /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:打印出如下图案(菱形) * *** ***** ******* ***** *** * -------------------------------------------------------*/ #include inti,j,k; /**********FILL**********/ for(i=0;_____;i++) { for(j=0;j<=4-i;j++) printf(\" \"); /**********FILL**********/ for(k=1;k<=_____;k++) printf(\"*\"); printf(\"\\n\"); } /**********FILL**********/ for(_____;j<3;j++) { for(k=0;k for(k=0;k<5-2*j;k++) printf(\"*\"); printf(\"\\n\"); } } 【空1】 错误 【学生答案】 for(i=0;_____;i++) 【参】 i<=3 i<4 3>=i 4>i ============================================================ 【空2】 错误 【学生答案】 for(k=1;k<=_____;k++) 【参】 2*i+1 i*2+1 1+2*i 1+i*2 ============================================================ 【空3】 错误 【学生答案】 for(_____;j<3;j++) 【参】 j=0 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:编写程序,输出 1000 以内的所有完数及其因子。 说明:所谓完数是指一个整数的值等于它的因子之和。 例如“ 6 的因子是 1 、 2 、 3 ,而 6=1+2+3 ,故 6 是 一个完数。 -------------------------------------------------------*/ #include main() { int i,j,m,s,k,a[100] ; for(i=1 ; i<=1000 ; i++ ) { m=i ; s=0 ; k=0 ; for(j=1 ; j if(_____) { s=s+j ; /**********FILL**********/ _____=j ; } if(s!=0&&s==m) { /**********FILL**********/ for(j=0 ; _____ ; j++) printf(\"%4d\printf(\" =%4d\\n\ } } } 【空1】 错误 【学生答案】 if(_____) 【参】 m%j==0 ============================================================ 【空2】 错误 【学生答案】 _____=j ; 【参】 a[k++] ============================================================ 【空3】 错误 【学生答案】 for(j=0 ; _____ ; j++) 【参】 j
因篇幅问题不能全部显示,请点此查看更多更全内容