题及答案(7)
一、填空题
1.在C语言程序设计中,正确的标识符是由____________________组成的。
2. 设x=4,y=(++x)+(++x);那么y的值为_____,表达式执行后,变量x的值为_______。
3.一个变量的指针是指_____________________________________________。
4.能够构成一个数组,其元素满足的特点是__________________________________;
那么,构成结构体的成员可以是_________________________________________。
5.下面运算符 < % ++ = 按照优先级从高到低排列顺序为______________。
6.C程序设计中语句后的符号 /*……*/ 所起作用是_________________________。 7.写出下面表达式的值 3*5/7+7%3____________________
x=2 ; y=4; (x++)+y _____________________ 3+4>=7-10_____________________ 3>4 ? 3%2: 1 ___________________
x=2,y=2;++x||++y_______________ x=3 ; x+=x-=2 _____________________ 二、选择题
⑴.在使用TurboC2.0环境编辑程序时,运行某程序使用的菜单项为( ) A.FILE B.RUN C.EDIT D.OPTION
⑵.下列语句不具有赋值功能的是( ) A.a*=b B.x=1 C.a+b D.a++
⑶.C语言程序中,当出现条件分支语句if~else时, else与( )组成配对关系
A.同一复合语句内部的if B.在其之前任意的if C.在其之前未配对的最近的if D.首行位置相同的if
⑷.下列数组定义方式不正确的语句是( ) A.char x[5];
B.char y[]={„h‟, „e‟, „l‟, „l‟, „o‟}; C. int x[10]={12,13,14,15}; D.int y[];
⑸. 若有如下定义和语句,且0<=i<5,下面( )是对数值为3数组元素的引用
int a[]={1,2,3,4,5},*p,i; p=a; A. *(a+2) B.a[p-3] C.p+2 D.a+3
⑹. 下列( )表达式的值为真 a=5; b=8; c=10; d=0 A.a*2>8+2 B.a&&d C. (a*2-c)||d D.a-b B. char b[]= {„h‟, „a‟, „b‟, „c‟, „d‟, „\\0‟}; C. char c[10]= {„h‟, „a‟, „b‟, „c‟, „d‟}; D. char d[6]= {„h‟, „a‟, „b‟, „c‟, „\\0‟ } ⑻. 执行下列程序后,其结果为( ) int a[]={2,4,6,8,10,12}; *p; p=a; *(p+4) =2; printf(“%d,%d\\n”,*p,*(p+4)); A.0,10 B.0,2 C.2,10 D.2,2 ⑼. 有下列结构体,对该结构体变量stu的成员项引用不正确的是( ) struct student { int m; float n; } stu ,*p; A. stu.n B.p->m C.(*p).m D.p.stu.n ⑽.下列函数中不能用于对文件进行输入输出操作的是( ) A.fscanf( ) B.printf( ) C.fgetc( ) D. fputs( ) 三、判断题 1.C语言程序设计可以对计算机硬件进行操作。 ( ) 2.在循环过程中,使用break语句和continue语句的作用是一样的。 ( ) 3.在函数的定义和调用过程中,形式参数和实在参数数目可以不一致。 ( ) 4.对于某一指针变量可以接收任何类型的值。 ( ) 5.在C语言程序设计中,不同类型的数在计算机内存中所占空间是不同的。( ) 6.文件指针是结构体类型,可以用表示file来定义。 ( ) 7.选择结构不可以使用嵌套形式,但是循环结构可以使用嵌套形式。 ( ) 8.在定义数组时,有时可以将该数组的维数省略。 ( ) 9.运算符 && + * 的优先级是 * 优先于 + 优先于&&。 ( ) 10.任何数组都可以实现对其进行整体操作。 ( ) 三、程序填空题 1.下面是实现输出九九乘法表的程序,在画线的位置填上适当的语句,使该程序完整。 main() { int i , j , k; for(i=1;_____________; i++) {bsp; { for(__________; j<=i ; j++) printf(“%d*%d=%d”,_______________); printf(________________); } } 2.设计一个自定义函数,实现如下功能:求两个数的平方和,并且返回该和。 自定义函数如下: int max(x,y) { } 3.设有如下面的结构体,请用C语言的语句定义出正确的结构体形式: 学生信息:包括(姓名,性别,年龄,分数:根据合适情况选择各项类型) struct student { } 4. 根据给出的程序段,请写出正确的结果 x=1 ; p=1 , sum=0 ; for (x=1 ; x<=5 ; x++) { p=p*x; sum=sum+p ; } 上面的程序段实现的功能是计算下面的式子_______________________________ ; 其运行结果为_________________________________________________________。 五、阅读程序,写出下列程序段的结果 1. int *p,i; i=100; p=&i; i=*p+10; 执行完上面的语句段后, i的值是______ 2. int A,B,C,m=1,n=0; A=(--m=n++)?- -m:++n; B=++m; C=n--; 执行完上面的语句段后,A的值为______B的值为______C的值为______ 3. main() { int c1=10,c2=10; printf(“c1=%d,c2=%d \\n c1=%d”,++c1,c2++,c1--); } 该程序的运行结果是_______________________________________________。 4.main() { int i; for(i=3;i<10;i++) { if(i%4==0) continue; else printf(“%d,”,i); } } 该程序输出的结果是 _______________________________________ 5. main() { int x; x=3; do { printf(“%d”,x--); }while(!x); } 该程序运行的结果是___________________________________________________________ 六、编程题 1.编程实现:从键盘上接收10个整数,并对其进行排序(要求排成升序)。 2.编程实现求下面的式子的结果 3.编程实现将文本文件file1.dat中的内容复制到文本文件file2.dat中去,同时将小写字母转换成大写字母。 参考答案 一、填空题 1.字母、数字、下划线 2. 12,6 3.该变量的地址 4.同一类型;不同类型 5. ++ % < = 6.注释 6.3, 1, 1, 6 1 2 二、选择题 ⑴.B ⑵.C ⑶. C ⑷. C ⑸. A ⑹.D ⑺. A ⑻. D ⑼. D ⑽.B 三、判断题 1.对 2.不对 3.不对 4.不对 5.对 6.不对 7.不对 8.对 9.对 10.不对 四、程序填空题 1.i<=9 j=1 i , j , i*j “\\n” 2 2 2.int max(x,y) int x,y;sp; int x,y; { int z; z=x*x+y*y; return(z); } 3. struct student { char xm [10]; char sex; int age; float score; } 4. 1!+2!+3!+4!+5! 1+2+6+24+120=153 五、阅读程序,写出下列程序段的结果 1. 110 2. –1 0 1 3. c1=10 ,c2=10 c1=10 4.3,5,6,7,9 5. 3 六、编程题 1.main() { int a[10]; int m,n,t; for (m=0;m<10;m++) scanf(“%d”,&a[m]); for(m=0;m<9;m++) for(n=0;n<9;n++) if(a[n]>a[n+1]) { t=a[n]; a[n]=a[n+1]; a[n+1]=t;} for (m=0;m<10;m++) printf(“%d”,a[m]); } 2. main() { float x,y; scanf(“%f”,&x); if(x>6) y=(x+2)/(3*x+1); else y=x*x+3*x+1; printf(“%f”,y); } 3.main() { FILE *fp1 , *fp2; char ch; fp1=fopen(“file1.dat”, “r”); fp2=fopen(“file1.dat”, “w”); ch=fgetc(fp1); while(ch!=EOF) { if(ch>=‟a‟ && ch<=‟z‟) ch=ch-32; fputc(ch,fp2); fputc(ch,fp2); ch=fgetc(fp1); }bsp; } fclose(fp1); fclose(fp2); } 因篇幅问题不能全部显示,请点此查看更多更全内容