当前位置:首页 >> 理学 >>

c语言填空题1


下面程序段的输出结果是__10___. int a=12;a=a&052;printf("%o\n",a); 当a=3,b=2,c=1;时,执行以下程序段后 c=__2___. if(a>b) a=b; if(b>c) b=c; else c=b; c=a; 若所用变量都已正确定义,请填写以下程序段的输出结果__OK___. for(i=1;i<=5;i++); printf("OK\n");

若有以下数组a,数组元素:a[0]~a[9],其值为 9 4 12 8 2 10 7 5 1 3 该数组的元 素中,数值最小的元素的下标是_8____.

函数的_递归____调用是一个函数直接或间接地调用它自身. 以下程序的输出结果是__8 (用跟踪程序运行的方法观察递归的过程)___。 fun( int x , int *s) { int f1, f2; if( n == 1 || n == 2) *s = 1; else { fun( n - 1, &f1) ; fun(n - 2, &f2); *s = f1 + f2; } } main() { int x; fun(6, &x); printf(“%d\n”, x ); }

int main(struct node *first) { struct node *p; int m; p = first ->next; m = p ->data; for(p =p ->next; p != '\0'; p =__2002___ ) if( _Shangxian____ ) m = p -> data; return m; }

调用 fopen 函数打开一文本文件,在"使用方式"这一项中, 以“只读”方式打开需填入_r____.

设 int x=1/4;则 x 的值为_0____.

设 a=3,b=4,c=5,则表达式!(a+b)+c-1&&b+c/2 的值为___1__. int x=4,y=4,z=2;x=y==z; 则 x 的值为_0____. 以下程序的执行结果是__9___。 main() { int k=8; switch(k) { case 9: k+=1; case 10: k+=1; case 11: k+=1; break; default: k+=1; } printf("%d\n",k); }

以下程序段的输出结果是__11___。 int i = 0, sum = 1; do { sum += i++; } while( i < 5); printf(“%d\n”, sum);

若有以下数组a,数组元素:a[0]~a[9],其值为 9 4 12 8 2 10 7 5 1 3 该数组中下标最小的数组元素名是__a[0]___.

如果函数不要求带回值,可用__void___来定义函数返回值为空.

以下程序的输出结果是_GFEDCB ____ 。 #include “stdio.h” main() { char b[] = “ABCDEFG”, *chp = &b[7]; while( --chp >&b[0] ) putchar (*chp); putchar (?\n?); 设有以下结构类型说明和变量定义(假定int型数据占两个字节),则变量a在内存所占字节数是 __22 ___ . struct stud { char num[6]; int s[4]; double ave; } a,*p;

}

以下C程序将磁盘中的一个文件复制到另一个文件中, 两个文件名在命令中给出。请填空。 #include <stdio.h> main( int argc, char *argv[]) { FILE *f1, *f2; char ch; if(argc < 3) { printf("命令行参数错!\n"); exit(0); } f1 = fopen(argv[1], "_r r+____"); f2 = fopen(argv[2], "w"); while(!feof(f1)) fputs( fgets(f1), f2);
fclose(f1); fclose(f2);

已知a=13,b=6, a&&b的十进制数值为__1 ___.

执行下列语句的结果是_4,4____,a=3;printf("%d,",++a);printf("%d",a++); 请写出与以下表达式等价的表达式是 A)x <= 0_____B)__1 ___。 A)(x>0) ! B) !0

执行以下程序后的输出结果是_i = 5, j = 4, k = 6____。 main() { int a, b, c, d, i, j, k; a = 10; b = c = d = 5; i = j = k = 0; for( ; a > b; ++b) i++; while( a > ++c ) j++; do k++; while(a > d++); printf(“i = %d, j = %d, k = %d\n”, i, j, k); }

C语言中,数组名代表的是数组的___首地址
起始地址 地址

__,不能对它进行加减和赋值运算.

静态变量的类型说明符是_static____

当运行以下程序时从键盘输入字符串qwerty和abcd, 则程序的输出结果是__10___。 #include “string.h” #include “stdio.h” strle(char a[], char b[]) { int num = 0, n = 0; while( *(a + num) != ?\0?) num ++; while(b[n]) { *(a+num) = b[n]; num ++; n++; } return (num); } main() { char str1[81], str2[81], *p1 = str1, *p2 = str2; gets(p1); gets(p2); printf(“%d\n”, strle(p1, p2)); }

阅读下列程序,则程序的输出结果为_B 65____。 #include "stdio.h" struct ty { int data; char c; }; main() { struct ty a={30,′x′}; fun(a); printf("%d%c",a.data,a.c); } fun(struct ty b) {b.data=20; b.c=′y′; }

main() { FILE *fp; char ch, fname[10]; printf("Enter the name of file\n"); gets(fname); if( ( fp = fopen(fname,"w")_____ ) == NULL ) { printf("Open error!\n"); exit(0); } printf("Enter data: ); while(( ch = getchar() ) != '#' ) fputc(ch , fp); fclose( fp ); }

假设有条件 int x=1,y=2,z=3;则表达式z+=x>y?++x:++y的值是__6___.

一个C源程序中至少应包括一个__main 主___函数.

以下程序的输出结果为___10__, #include "stdio.h" main(){int a;for(a=0;a<10;a++);printf("%d",a);}

当a=1,b=2,c=3时,执行以下程序段后a=__3 ___. if (a>c) b=a; a=c; c=b;

以下do-while语句中循环体的执行次数是3 _____. a=10; b=0; do { b+=2; a-=2+b; } while (a>=0);

数组char a[2]中的所有元素是a[0]和___a[1]__.

函数调用语句func((e1,e2),(e3,e4,e5))中含有__2___个实参.

以下程序的输出结果是__ar=9 ar=9 ar=11___。 #define PR(ar) printf(“ar = %d “, ar) main() { int j, a[] = { 1, 3, 5, 7, 9, 11, 13, 15}, *p = a + 5; for(j = 3; j ; j--) switch( j ) { case 1: case 2: PR(*p++); break; case 3: PR(*(--p) ); } }

在C程序中,数据可以用二进制和_ASCII____两种代码形式存放.

设x=2&&2||5>1,x的值 为__1___.

已知 i=5;写出语句 i+=012; 执行后整型变量 i 的十进制值是15_____.

若有以下说明和输入语句,要求给c1、c2、c3输入字符A、B和C,请写出从键盘正确输入数据 的形式是__AAAABBBBCCCC AAAABBBBCCCC↙___。
char c1, c2, c3;

scanf(“%4c”, &c1); scanf(“%4c”, &c2); scanf(“%4c”, &c3);

若变量已正确定义,以下语句段的输出结果是_*#____。 x = 0; y = 2; z = 3; switch(x) { case 0: switch( y == 2) { case 1: printf(“*”); break; case 2: printf(“%”); break; } case 1: switch( z ) { case 1: printf(“$”); case 2: printf(“*”); break; default : printf(“#”); } }

以下程序的功能是:从键盘上输入若干学生的成绩,统计并输出最高成绩和最低成绩,

当输入为负数时结束输入。请填空。 main() { float x, amax, amin; scanf(“%f”, &x); amax = x; amin = x; while(___x >= 0 __ ) { if( x > amax ) amax = x; if(__x < amin ___) amin = x; scanf(“%f”, &x); } printf(“\namax = %f\naming = %f\n”, amax, amin); }

字符串的结束标志是__\0 '\0'

0___.

以下程序的执行结果是__V = 1 V = 2 ___。 #define PRINT(V) printf(“V = %d\t”,V) main() { int a, b; a = 1; b = 2; PRINT(a); PRINT(b); }

在c程序中,只能给指针赋NULL值和__地址___值.

以下程序用来统计文件中字符的个数。请填空。 #include <stdio.h> main() { FILE *fp; long num = 0; if( ( fp = fopen("fname.dat", "r") == NULL ) { printf("Open error!\n"); exit(0); } while( !feof(fp)) { fgetc(fp); num ++; } printf("num = %d\n", num); _fclose____( fp ); }

设x=(5>1)+2,x的值 为_3___. int x=2,y=3,z=4; 则表达式x+y>z&&y==z的值为___0__. 输入整型变量a的值. int a; scanf("%d",__&a___); 下列程序的功能是输入一个整数,判断其是否是素数,若为素数输出1,否则输出0.请填空。 main() { int i, x, y=1; scanf("%d", &x); for(i=2; i<= __x / 2___; i++) if_!(x % i)
x % i == 0

____{ y=0; break;} printf("%d\n", y); }

以下程序段的输出结果是__3___。 printf(“%d\n”, strlen(“s\n\016\0end”)); 若希望文件指针直接指向文件尾部,应当使用的函数调用格式是__fseek(fp,0L,SEEK_END)___。

写出表达式 1.234&&5.982 的值是__1___.

执行下面两个语句,输出的结果是_97 b____,char c1=97,c2=98;printf("%d %c",c1,c2); 阅读下面程序,程序执行后的输出结果是__3___。 #include "stdio.h" main() { int x,y,z; x = 1; y = 2; z = 3; if(x>y) if(x>z)printf("%d",x); else printf("%d",y); printf("%d\n",z); }

数组定义如下:int a[3][2]={1,2,3,4,5,6};则a[1][1]=__4___ 下列程序的执行结果是__8 4___。 int d = 1; fun(int p) { int d = 5;

d += p++; pritnf(“%d “, d); } main() { int a = 3; fun(a); d += a++; printf(“%d\n”, d); } 若有以下定义和语句: int a[5]={1,3,5,7,9},*p; p=&a[2]; 则++(*p)的值是_6____.

以下程序的运行结果是 _ 30x____。 #include <string.h> typedef struct student { char name[10]; long sno; float score; }STU; main() { STU a = {“Zhangsan”, 2001,95}, b = {“Shangxian”, 2002,90}, c = {“Anhua”, 2003, 95}, d = a, *p = &d; if(strcmp(a.name, b.name) > 0) d = b; if(strcmp(c.name, b.name) > 0) d = c; printf(“%ld %s\n”, d.sno, p ->name); }

if( ( fp = fopen("fname.dat", "r") == NULL ) { printf("Open error!\n"); exit(0); } while( !feof(__fp___)) { fgetc(fp); num ++; } printf("num = %d\n", num); fclose( fp ); }

设x=72,表达式x=(x>=60)的值为_ 1____.

int x=2,y=3,z=4; 则表达式!(x+y)>z的值为_ 0____.

当a=1,b=2,c=3时,执行以下程序段后b=__2___. if (a>c) b=a;

a=c;

c=b;

以下程序的输出结果是__-1___。 main() { int x = 2; while ( x-- ); printf(“%d\n”, x); }

若有以下数组a,数组元素:a[0]~a[9],其值为 9 4 12 8 2 10 7 5 1 3 该数组可用 的最大下标是_9____.

以下程序的输出结果是__7___。 fun( int x ) { int p; if( x == 0 || x ==1) return (3); p = x - fun(x - 2); return p; } main() { printf(“%d\n”, fun(9) ); }

以下程序段的输出结果是__110___。 int *var, ab; ab = 100; var = &ab; ab = *var + 10; printf(“%d\n”, *var);

以下main函数的功能是查找带有头结点的单向链表中,结点数据域的 最小值作为函数值返回。请填空。 struct node { int data; struct node *next; } int main(struct node *first) { struct node *p; int m; p = first ->next; m = p ->data; for(p =p ->next; p != '\0'; p =__2002___ ) if( _Shangxian____ ) m = p -> data; return m; }

int x; x=-3+4%5-6, 则 x 的值为_ -5____. int x; x=-3+4%5*3, 则 x 的值为___ 9__.

请写出以下程序的输出结果__1___。 main() { int a = 100; if( a > 100) printf(“%d\n”, a > 100); else printf(“%d\n”, a <= 100); }

有以下程序段: s = 1.0; for(k = 1; k <= n; k++) s = s + 1.0 / (k * (k + 1)); printf(“%f\n”, s); 请填空,使下面的程序段的功能完全与之等同。 s = 0.0; _d = 1.0____; k = 0; do { s += d; __k++___; d = 1.0 / (k * (k + 1)); }while(__k <= n___ ); printf(“%f\n”, s); 以下函数用以求x的y次方。请填空。 double fun( double ,x double y) { int i; double z=1.0; for( i = 1; i_<= y____ ; i++) z = __z * x___ ; return z;

s ? ? k!
k ?0

n

}

PROG ABCD EFGH iJKL<CR>(此处<CR>代表Enter键) 则输出结果为:__iJKLEFGHABCD___。 main() { while( -- argc > 0 ) printf(“%s”, argv[argc] ); printf(“\n”);

}

以下函数creat用来建立一个带头结点的单向链表,新产生的结点总是插在链表的末尾, 单向链表的头指针作为函数值返回。请填空。 #include "stdio.h" struct list { char data; struct list *next ; }; struct list *creat() { struct list *h, *p, *q; char ch; h =__(struct list *)___ malloc(sizeof(_struct list____ ) ); p = q = h; ch = getchar(); while( ch != '?') { p =_(struct list *) ___malloc(sizeof(_struct list____ ) ); p -> data = ch; q -> next = p; q = p; ch = getchar(); } p -> next = '\0'; return h_____ ; }

C语言中调用__fopen

fopen()___函数来打开文件.

表达式 i++ 相当于表达式i=__i+1

1+i___.

int x=2;z=-(x++)+1; 则x的值为_3____.

以下程序的输出结果是__4___。 fun1(int a, int b) { int c; a += a; b += b; c = fun2(a, b); return c * c; } fun2(int a, int b) { int c; c = a * b % 3; return c; } main() { int x = 11, y = 19;

printf(“%d\n”, fun1(x, y)); }

当运行以下程序时从键盘输入字符串qwerty和abcd, 则程序的输出结果是__10___。 #include “string.h” #include “stdio.h” strle(char a[], char b[]) { int num = 0, n = 0; while( *(a + num) != ?\0?) num ++; while(b[n]) { *(a+num) = b[n]; num ++; n++; } return (num); } main() { char str1[81], str2[81], *p1 = str1, *p2 = str2; gets(p1); gets(p2); printf(“%d\n”, strle(p1, p2)); }

为了建立如图所示的存储结构,请填空。 struct slink { char data; __struct node *link___; } node;

以下程序用来统计文件中字符的个数。请填空。 #include <stdio.h> main() { FILE *fp; long num = 0; if( ( fp = fopen("fname.dat", "r") == NULL ) { printf("Open error!\n"); exit(0); } while( !__ feof___(fp)) { fgetc(fp); num ++; } printf("num = %d\n", num); fclose( fp );

}

设x=5>1+2,x的值 为___1__.

若int x=6;则x+=x-=x*x表达式最后x的值是__-60___. 以下程序段的输出结果是_a = 513.789215____、_a = 513.79____、_a = 513.78921500____、_a = 513.78921500____ double a = 513.789215; printf(“a = %8.6f, a = %8.2f, a = %14.8f, a = %14.8lf\n”, a, a, a, a); 当a=3,b=2,c=1;时,执行以下程序段后 a=_2____. if(a>b) a=b; if(b>c) b=c; else c=b; c=a;

以下程序的功能是将x字符串与y字符串连接并输出,请填空。注:程序中不能使用字符串连接 函数。 #include <stdio.h> main() { char x[80], y[40]; int a, h = 0; printf(“Please input x string: “); gets(x); printf(“Please input y string: “); gets(y); while(x[h]!=?\0?) _h++____ ; __a = 0___; while(y[a]!=?\0?) x[h++] = y[a++]; _x[h] = ?\0?____ ; printf(“Output x string: “); puts(x); } 以下程序的输出结果是__4___。 fun1(int a, int b) { int c; a += a; b += b; c = fun2(a, b); return c * c; } fun2(int a, int b) { int c; c = a * b % 3; return c; }

main() { int x = 11, y = 19; printf(“%d\n”, fun1(x, y)); }

{

int t; if(i < j) { t = *(s + i); *(s + i ) = _*(s+j)____; *(s + j ) = t; invert( s, __i+1___, j - 1); }

} main() { int a[N], i; for( i = 0; i < N; i++) scanf(“%d”, a + __i___ ); invert( a, 0, N - 1); for(i = 0; i < N; i ++) printf(“%d”, a[i]); printf(“\n”); } C语言中调用_fclose
fclose()____函数来关闭文件.

设 x 的值为15,n 的值为2,则表达式 x%=(n+3) 运算后 x 的值是__0___. 设(k=a=5,b=3,a*b),则k值为__5___. 复合语句在语法上被认为是__一条语句___。空语句的形式是__;___。 将上题中的双分支if语句改写成条件表达式语句:_printf(“%d\n”, (a > 100) ? (a > 100) : (a <= 100) );____ main() { int a = 100; if( a > 100) printf(“%d\n”, a > 100); else printf(“%d\n”, a <= 100); } 以下程序段的输出结果是_无输出结果
死循环 死循环无输出结果____。

int k, n, m; n = 10; m = 1; k = 1; while( k <= n ) m *= 2; printf(“%d\n”, m);

数组char a[2]中的所有元素是a[0]和_a[1]____.

以下findmax返回s中最大元素的下标,数组中元素的个数由t传入。请填空。 fndmax( int s[], int t) { int k, p; for(p = 0, k = p; p < t; p++) if(s[p] > s[k] ) _k = p____ ; return_k____; } 以下程序的输出结果是___SO__ 。 main() { char *p[] = {“BOOL”, “OPK”, “H”, “SP”}; int i; for(i = 3; i >= 0; i--, i--) printf(“%c”, *p[i]); printf(“\n”); }

以下程序由终端键盘输入一个文件名,然后把终端键盘输入的字符依次存 放到该文件中,用#号作为结束输入的标志。请填空。 #include <stdio.h> main() { FILE *fp; char ch, fname[10]; printf("Enter the name of file\n"); gets(fname); if( ( fp = fopen(fname,"w") ) == NULL ) { printf("Open error!\n"); exit(0); } printf("Enter data: ); while(( ch = getchar() ) != '#' ) _fputc____(ch , fp); fclose( fp ); } int x=2,y=2,z=0; 则表达式x==y>z的值为__0___. int a=1,b=2,c=3; 表达式(a&b)||(a|b) 的值是__1___. 以下程序段的输出结果是_x = 127____、_x = _x = 127____。
127____、x = 177_____、__x = 7f___、

int

x = 0177;

printf(“x = %3d, x = %6d, x = %6o, x = %6x, x = %6u\n”, x, x, x, x, x);

阅读下面程序,则执行后程序的结果为_15, 16____。 #include "stdio.h" main() { int a=0,b=0; while(a<15) a++; while(b++<15); printf("%d,%d\n",a,b); }

给出以下程序,其功能是将a矩阵和b矩阵合并成c矩阵,最后将c矩阵按格式输出。请填空。

#include <stdio.h> main() { int a[3][4] = {{3, 1, 7, 5},{1, 2, 4, 3},{6, 3, 0, 2}}; int b[3][4] = {{2, 3, 1, 4},{5, 1, 3, 6},{1, 5, 2, 3}}; int i, j, c[3][4]; for(i = 0; i < 3; i++) for(j = 0; j < 4; j++) c[i][j] = __a[i][j] + b[i][j]___ ; for(i = 0; i < 3; i++) { for(j = 0; j < 4; j++) pritnf(“%5d”, c[i][j]); _printf(“\n”)___; } }

以下程序的输出结果是_12____。 unsigned fun6(unsigned num) { unsigned k = 1; do { k *= num % 10; num /= 10; } while( num); return k; } main() { unsigned n = 26;

printf(“%d\n”, fun6(n)); }

下列程序的执行结果是_3 5____。 fun(int *x, int *y) { int c, *z = &c; z = x; x = y; y = z; } main() { int a = 3, b = 5; fun(&a, &b); printf(“%d %d\n”, a,b); } 结构体是不同数据类型的数据集合,作为数据类型, 必须先说明结构体___类型__,再说明结构 体变量.

在对文件进行的操作过程中,若要求文件的位置回到文件的开头, 应当调用的函数是_rewind____。 c语言程序的三种基本结构是:顺序结构,选择结构,_循环____结构. 运用位运算,能将八进制数0125000除以4,然后赋给变量a的表达式是_a = 0125000>>2____。 以下程序段,要求通过scanf语句给变量赋值,然后输出变量的值。写出运行时给k输入100,给a 输入25.81, 给x输入1.89234时的三种可能的输入形式_100 25.81 1.8923____、100 25.81 1.8923 _____、 ___100 25.81 1.8923__。
int k; flaot a; double x;

scanf(“%d%f%lf”, &k, &a, &x); printf(“k = %d, a = %f, x = %f\n”, k, a, x); 将下列数学式改写成C语言的关系表达式或逻辑表达式是 A) || a<c_____B)x<-4 || x>4____。 a==b _ A)a=b或a<c B)|x|>4 设i,j,k均为int型变量,则执行完for循环 for(i=0,j=10;i<=j;i++,j--) k=i+j; 后,k的值 为__10___. 执行语句char s[3]="ab",*p; p=s; *(p+__2___)的值是'\0'.

以下程序的输出结果是__2,5,1,2,3,-2___。 main() { int a = 3, b = 2, c = 1; c -= ++b; b *= a + c; { int b = 5, c = 12;

c /= b * 2; a -= c; printf(“%d, %d, %d, ”, a, b, c ); a += --c; } printf(“%d, %d, %d\n”, a, b, c); } 将数组a的首地址赋给指针变量p的语句是_p=a;
p=&a[0];____.

调用 fopen 函数打开一文本文件,在"使用方式"这一项中, 以“追加”方式打开需填入 _a a+____. 设x=4<4-!0,x的值为_0____. 已知a=13,b=6, a%b的十进制数值为__1___. 以下程序的执行结果是a = 20, b = 20 _____。 main() { int a, b, *p = &a, *q = &b; a = 10; b = 20; *p = b; *q = a; printf(“a = %d, b = %d\n”, a, b); } 以下C程序将磁盘中的一个文件复制到另一个文件中, 两个文件名在命令中给出。请填空。 #include <stdio.h> main( int argc, char *argv[]) { _FILE____ *f1, *f2; char ch; if(argc < 3) { printf("命令行参数错!\n"); exit(0); } f1 = fopen(argv[1], "r"); f2 = fopen(argv[2], "w"); while(!feof(f1)) fputs( fgetc(f1), f2);
fclose(f1); } fclose(f2);

设 x 的值为15,n 的值为2,则表达式 x*=n+3 运算后 x 的值是__75___. 已知 i=5, 写出语句 a=(i>5)?0:1; 执行后整型变量 a 的值是__1___. int x=4,y=2,z=2;z=x==(y=z); 则z的值为__0___.

以下程序的输出结果是__-1___。 main() { int x=100, a=10, b=20, ok1=5, ok2=0; if(a<b)if(b!=15)if(!ok1)x=1; else if(ok2)x=10; else x=-1; printf("%d\n", x); } 若有定义int a[3][4]={1,2,3,4,5,6,7,8,9};,则a[1][3] = __8___,a[2][3]= _0____。 静态变量的类型说明符是__static___ 以下程序中的trap函数是一个用梯形法求定积分的通用函数, 梯形法求定积分s的公式为:

s ? (( f (a) ? f (b) / 2 ? ? f (a ? i * h) * h
i ?1

n ?1

h?

a?b n

其中: n为积分小区间数,以下程序调用trap函数求定积分,被积函数是: f(x) = x*x +3*x + 2, 且 n = 1000, a = 0, b = 4。 #include “math.h” double trap( double _(*fun)(double)____ , double a, double b) { double t, h; int i, n = 1000; t = 0.5 *((*fun)(a) +(*fun)(b) ); h = fabs(a - b) / (double) ( n ); for( i = 1; i <= n - 1; i++) t = t + _(*fun)(a+i*h)____ ; t = t * h; return (t); } double mypoly( double x) { return (x * x + 3.0 * x + 2.0); } main() { double y, (*pf)(double); pf = _myproly____ ; y = trap( pf, 0.0, 4.0); printf(“%f\n”, y); 以下程序用来统计文件中字符的个数。请填空。 #include <stdio.h> main() { FILE *fp; long num = 0;

if( ( fp = fopen("fname.dat", "r") == NULL ) { printf("Open error!\n"); exit(0); } while( !feof(fp)) { fgetc(fp); num ++; } printf("num = %d\n", num); fclose( _fp____ ); }

已知 a=10,b=15,c=1,d=2,e=0,则表达式!a<e的值为_0____. 若s是int型变量,且s=6,则下面表达式的值是_1____. s%2+(s+1)%2

以下findmax返回s中最大元素的下标,数组中元素的个数由t传入。请填空。 fndmax( int s[], int t) { int k, p; for(p = 0, k = p; p < t; p++) if(s[p] > s[k] ) _k = p____ ; return_k____; }

以下程序由终端键盘输入一个文件名,然后把终端键盘输入的字符依次存 放到该文件中,用#号作为结束输入的标志。请填空。 #include <stdio.h> main() { FILE *fp; char ch, fname[10]; printf("Enter the name of file\n"); gets(fname); if( ( fp = fopen(fname,"w") ) == NULL ) { printf("Open error!\n"); exit(0); } printf("Enter data: ); while(( ch = getchar() ) != '#' ) _fputc____(ch , fp); fclose( fp ); }

int x=2,y=2,z=0; 则表达式x==y>z的值为__0___. int a=1,b=2,c=3; 表达式(a&b)||(a|b) 的值是_1____.

若所用变量均已正确定义,则执行下面程序段后的输出结果是_YESYES____. for(i=0 ; i<2 ; i++ ) printf("YES"); printf("\n"); 执行语句char str[81]="abcdef";后,字符串str结束标志存储在str[__6___] (在括号内填写下 标)中. 若输入3个整数3 2 1, 则以下程序的输出结果是__2721___。 void sub( int n, int uu[]) { int t; t = uu[n --]; t += 3 * uu[n]; n ++; if( t >= 10) { uu[n++] = t / 10; uu[n] = t % 10; } else uu[n] = t; } main() { int i, n, aa[10] = {0}; scanf(“%d%d%d”, &n, &aa[0], &aa[1]); for( i = 1; i < n; i++) sub(i, aa); for( i = 0; i <= n; i++) printf(“%d”, aa[i]); printf(“\n”); } 与指针引用有关的两个运算符是*和__&___ 以下程序由终端键盘输入一个文件名,然后把终端键盘输入的字符依次存 放到该文件中,用#号作为结束输入的标志。请填空。 #include <stdio.h> main() { FILE *fp; char ch, fname[10]; printf("Enter the name of file\n"); gets(fname); if( ( fp = fopen(fname,"w") ) == NULL ) { printf("Open error!\n"); exit(0); } printf("Enter data: ); while(( ch = getchar() ) != '#' ) fputc(ch , fp); _fclose____( fp ); 已知 i=5,写出语句 i*=i+1; 执行后整型变量 i 的值是__30___. 设a、b、c为整型数, 且a=2、b=3、c=4, 则执行完以下语句: a*=16+(b++)-(++c); 后,a的值是 ___28__.

输入整型变量a的值. int a; scanf("%d",__&a___);

以下程序的输出结果是__-1___。 main() { int x=100, a=10, b=20, ok1=5, ok2=0; if(a<b)if(b!=15)if(!ok1)x=1; else if(ok2)x=10; else x=-1; printf("%d\n", x); } 以下程序段的输出结果是___11__。 int i = 0, sum = 1; do { sum += i++; } while( i < 5); printf(“%d\n”, sum);

以下程序的输出结果是___-850, 2, 0__ 。 main() { int i, j, row, col, m; int arr[3][3] = {{100, 200, 300}, {28, 72, -30}, {-850, 2, 6}}; m = arr[0][0]; for( i = 0; i < 3; i++) for( j = 0; j < 3; j++) if(arr[i][j] < m) { m = arr[i][j]; row = i; col = j; } printf(“%d,%d,%d\n”, m, row, col); }

以下程序的输出结果是_7____。 fun( int x ) { int p; if( x == 0 || x ==1) return (3); p = x - fun(x - 2); return p; } main() { printf(“%d\n”, fun(9) ); }

若有定义: char ch; (1) 使指针p可以指向变量ch的定义语句是_char *p=&ch____。 (2) 使指针p指向变量ch的赋值语句是__p = &ch___。 (3) 通过指针p给变量ch读入字符的scanf函数调用语句是__scanf(“%c”,p)___。 (4) 通过指针p给变量ch赋字符的语句是_ *p='a'____。 (5) 通过指针p输出ch中字符的语句是_putchar(*p)____。 设有以下结构类型说明和变量定义(假定int型数据占两个字节),则变量a在内存所占字节数是 ___22__ . struct stud { char num[6]; int s[4]; double ave; } a,*p; 已知a=13, a<<2的十进制数值为_52____. int x=4,y=2,z=2;z=x==(y=z); 则z的值为__0___. 以下程序的输出结果是___-1__。 main() { int x=100, a=10, b=20, ok1=5, ok2=0; if(a<b)if(b!=15)if(!ok1)x=1; else if(ok2)x=10; else x=-1; printf("%d\n", x); } 以下程序的输出结果是_2,5,1,2,3,-2____。 main() { int a = 3, b = 2, c = 1; c -= ++b; b *= a + c; { int b = 5, c = 12; c /= b * 2; a -= c; printf(“%d, %d, %d, ”, a, b, c ); a += --c; } printf(“%d, %d, %d\n”, a, b, c); }

以下程序的输出结果是_GFEDCB____ 。 #include “stdio.h” main() { char b[] = “ABCDEFG”, *chp = &b[7]; while( --chp >&b[0] ) putchar (*chp); putchar (?\n?); } 设有以下结构类型说明和变量定义(假定int型数据占两个字节),则变量a在内存所占字节数是

__22___ . struct stud { char num[6]; int s[4]; double ave; } a,*p; 以下C程序将磁盘中的一个文件复制到另一个文件中, 两个文件名在命令中给出。请填空。 #include <stdio.h> main( int argc, char *argv[]) { FILE *f1, *f2; char ch; if(argc < 3) { printf("命令行参数错!\n"); exit(0); } f1 = fopen(argv[1], "r"); f2 = fopen(argv[2], "w"); while(!feof(__f1___)) fputs( fgets(f1), f2);
fclose(f1); } fclose(f2);

写出语句 b=(a=6,a*3); 执行后整型变量b的值是___18__. 设x的值为15,n的值为2,则表达式x%=(n+=3)运算后x的值是__0___. 若有以下定义和语句: int a[5]={1,3,5,7,9},*p; p=&a[2]; 则++(*p)的值是__6___.

设x=72,表达式x=(x>=60)的值为__1___. 执行以下程序段后, s的值是__16___int a[]={5,3,7,2,1,5,3,10},s=0,k; for(k=0;k<8;k+=2) s+=*(a+k); 已知a=13,b=6, !a的十进制数值为__0___.

根据C语言运算符的优先顺序和结合性,按从先到后的顺序写出以下表达式中,运算符 “+”、“>”、“*”、“&&”、“!=”、“||”、“!”和“/”的先后顺序: __+___、__*___、>____、_!=____、_&&____、_/____、___!__、_||____ * (a+b)>c 2&&b!=5||! (1/2) 以下程序的输出结果是_ar = 9 ar = 9 ar = 11____ 。 #define PR(ar) printf(“ar = %d “, ar) main() { int j, a[] = { 1, 3, 5, 7, 9, 11, 13, 15}, *p = a + 5; for(j = 3; j ; j--) switch( j ) { case 1: case 2: PR(*p++); break; case 3: PR(*(--p) ); } }

若有以下定义和语句: __1___.

int a[4]={0,1,2,3},*p;

p=&a[2];

则*--p的值是

阅读下列程序,则程序的输出结果为__B 65___。 #include "stdio.h" struct ty { int data; char c; }; main() { struct ty a={30,′x′}; fun(a); printf("%d%c",a.data,a.c); } fun(struct ty b) {b.data=20; b.c=′y′; } 以下C程序将磁盘中的一个文件复制到另一个文件中, 两个文件名在命令中给出。请填空。 #include <stdio.h> main( int argc, char *argv[]) { FILE *f1, *f2; char ch; if(argc < 3) { printf("命令行参数错!\n"); exit(0); } f1 = fopen(argv[1], "r"); f2 = fopen(argv[2], "w"); while(!feof(f1)) fputs( fgets(f1), _f2____);
fclose(f1); } fclose(f2);

C语言表达式!(3<6)||(4<9)的值是__1___.

以下程序统计从终端输入的字母中每个大写字母的个数,num[0]中统计字母A的个数, 其它依次类推。用#号结束输入,请填空。 #include “stdio.h” #include “ctype.h” main() { int num[26] = {0}; i; char c; while( __(c = getchar())___ != ?#?) if( isupper(c) ) num[ __c – 'A'__] += 1; for(i = 0; i < 26; i++) if(num[i]) printf(“%c : %d\n”, i + ?A?, num[i]); }

以下程序的输出结果是__itis___ 。 #include “string.h” #include “ctype.h” void fun(char str[]) { int i, j; for(i = 0, j = 0; str[i]; i++) if(isalpha(str[i]) ) str[j ++] = str[i]; str[j] = ?\0?; } main() { char ss[80] = “it is!”; fun(ss); printf(“%s\n”, ss); }

以下程序的输出结果是__3___。 #define N 5 fun( char *s, char a, int n) { int j; *s = a; j = n; while( a < s[j] ) j--; return j; } main() { char s[N+1]; int k, p; for(k = 1; k <= N; k++) s[k] = ?A? + k + 1; printf(“%d\n”, fun(s, ?E?, N) ); }

以下程序用来统计文件中字符的个数。请填空。 #include <stdio.h> main()

{ FILE __*fp__; long num = 0; if( ( fp = fopen("fname.dat", "r") == NULL ) { printf("Open error!\n"); exit(0); } while( !feof(fp)) { fgetc(fp); num ++; } printf("num = %d\n", num); fclose( fp ); 已知a=13,b=6, a^b的十进制数值为__11___. c语言表达式5>2>7>8的值是___0__. 已知a=13, a<<2的十进制数值为__52___. 若从键盘输入58,则以下程序输出的结果是_585858____。 main() { int a; scanf("%d",&a); if(a>50)printf("%d",a); if(a>40)printf("%d",a); if(a>30)printf("%d",a); 设x和y均为int型变量,则以下for循环中的scanf语句最多可执行的次数是_3____. (x=0,y=0;y!=123&&x<3;x++) scanf ("%d",&y); C语言中,二维数组在内存中的存放方式为按__行 行序___优先存放. 若输入3个整数3 2 1, 则以下程序的输出结果是___2721__。 void sub( int n, int uu[]) { int t; t = uu[n --]; t += 3 * uu[n]; n ++; if( t >= 10) { uu[n++] = t / 10; uu[n] = t % 10; } else uu[n] = t; } main() { int i, n, aa[10] = {0}; scanf(“%d%d%d”, &n, &aa[0], &aa[1]); for( i = 1; i < n; i++) sub(i, aa); for( i = 0; i <= n; i++) printf(“%d”, aa[i]); for

printf(“\n”); 以下程序由终端键盘输入一个文件名,然后把终端键盘输入的字符依次存 放到该文件中,用#号作为结束输入的标志。请填空 fopen(fname,"w")。 #include <stdio.h> main() { FILE *fp; char ch, fname[10]; printf("Enter the name of file\n"); gets(fname); if( ( fp = _____ ) == NULL ) { printf("Open error!\n"); exit(0); } printf("Enter data: ); while(( ch = getchar() ) != '#' ) fputc(ch , fp); fclose( fp ); }


相关文章:
c语言笔试试题(1)
C 语言程序设计(1)一、选择题(1-30 每小题 1 分,31-45 每小题 2 分,...{ int t; t=*p;*p=*q;*q=t; } 二、填空题(每空 2 分,共 40 分)...
C语言程序设计习题集(1)
C语言程序设计习题集(1)_IT认证_资格考试/认证_教育专区。基础知识一 单项选择...和 c='\0xab';语句都不正确 二 填空题(第 1 题 2 分,其余每题 3 分...
初级C语言习题(1 )
初级C语言习题(1 ) - C 语言试题库(第 1、2、3 章) 一、选择题 1、 一个 C 程序由若干个 C 函数组成,各个函数在文件中的位置为___A___。...
C语言试题1
C语言试题1 - 西安交通大学考试题 课系姓一、 成绩 年月日 程 C 语言程序设计 别 电气工程 名学号 考试日期 专业班号 骏马委培班 单选题(每题 2 分,共 ...
一次C语言复习题1
一次C语言复习题1 - 基本语句部分 一、选择题 1. 若给定条件表达式(x)?(a++):(a--),则表达式 x ( C ) (A) 和(x= =0)等价 (B)和(x= =1)...
c语言试题1
c语言试题1 - C 语言程序设计 C 程序设计—试题 1 一、单项选择题(每题 1 分,共 40 分) 1、 c 语言程序的基本单位是___c__。 A、程序行 B、...
C语言试题1
C语言试题1 - 一、填空题 1、一个 C 语言程序的语句至少应包含一个___。 2、C 语言源程序文件的扩展名是__ .C ___,经过编译、连接后,生成文件...
C语言习题1及其答案
C语言习题1及其答案 - 请注意:本学期您只有一次在线考试机会,请慎重做答和提交! 000000 单项选择题 第1题 若有以下定义:char s[20]= programming,*ps=s;...
C语言程序设计模拟试题1(附答案)
C语言程序设计模拟试题1(附答案) - 《C 语言程序设计》模拟试卷一 一、 单项选择题(每题 2 分,共 30 分) 1、下列有关 C 语言的叙述中错误的是(B)。 ...
C语言试题一
C语言试题一 - 《C 语言程序设计》试卷 1 一、单项选择题: (每题 2 分,共 40 分) 下列各题 A)、B)、C)、D)四个选项中只有一个是正确的,请将正确...
更多相关标签: