本文共 6790 字,大约阅读时间需要 22 分钟。
[单选题]11、有以下程序#include <string.h> main(int argc,char *argv[]) {int i,len=0; for(i=1;i<argc;i++) len+=strlen(argv[i]); printf("%d/n",len); }程序编译连接后生成的可执行文件是ex1.exe,若运行时输入带参数的命令行是:ex1 abcd efg 10↙则运行的结果是______。 A、22 B、17 C、12 D、912、与数学式子3乘以x的n次方/(2x-1)对应的C语言表达式是______。 A、3*x^n/(2*x-1) B、3*x**n/(2*x-1) C、3*pow(x,n)*(1/(2*x-1)) D、3*pow(n,x)/(2*x-1)13、有以下程序#include <stdlib.h>struct NODE {int num; struct NODE *next; }main() {struct NODE *p,*q,*r; p=(struct NODE *)malloc(sizeof(struct NODE)); q=(struct NODE *)malloc(sizeof(struct NODE)); r=(struct NODE *)malloc(sizeof(struct NODE)); p->num=10;q->num=20;r->num=30; p->next=q;q->next=r; printf("%d/n",p->num+q->next->num); }程序运行后的输出结果是______。 A、10 B、20 C、30 D、4014、有以下程序struct STU {char num[10]; float score[3]; }main() {struct STU s[3]={ {"20021",90,95,85}, {"20022",95,80,75}, {"20023",100,95,90}},*p=s; int i; float sum=0; for(i=0;i<3;i++) sum=sum+p->score[i];printf("%6.2f/n",sum);}程序运行后的输出结果是______。 A、260.00 B、270.00 C、280.00 D、285.0015、以下程序中函数sort的功能是对a所指数组中的数据进行由大到小的排序。void sort(int a[],int n){int i,j,t; for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) if(a[i]<a[j]) {t=a[i];a[i]=a[j];a[j]=t;} }main() {int aa[10]={1,2,3,4,5,6,7,8,9,10},i; sort(&aa[3],5); for(i=0;i<10;i++) printf("%d,",aa[i]); printf("/n"); }程序运行后的输出结果是______。 A、1,2,3,4,5,6,7,8,9,10, B、10,9,8,7,6,5,4,3,2,1, C、1,2,3,8,7,6,5,4,9,10, D、1,2,10,9,8,7,6,5,4,3,16、有以下程序void ss(char *s,char t) {while(*s) {if(*s==t) *s=t-'a'+'A'; s++; } }main() {char str1[100]="abcddfefdbd",c='d'; ss(str1,c); printf("%s/n",str1); }程序运行后的输出结果是______。 A、ABCDDEFEDBD B、abcDDfefDbD C、abcAAfefAbA D、Abcddfefdbd17、程序中头文件type1.h的内容是:#define N 5#define M1 N*3程序如下:#include "type1.h"#define M2 N*2main(){int i; i=M1+M2; printf("%d/n",i);}程序编译后运行的输出结果是______。 A、10 B、20 C、25 D、3018、有以下程序main() {int a=15,b=21,m=0; switch(a%3) {case 0:m++;break; case 1:m++; switch(b%2) {default:m++; case 0:m++;break; } } printf("%d/n",m);}程序运行后的输出结果是______。 A、1 B、2 C、3 D、419、以下非法的赋值语句是______。 A、n=(i=2,++i); B、j++; C、++(i+1); D、x=j>0;20、已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1&&y+z/2的值是______。 A、6 B、0 C、2 D、121、以下叙述中错误的是______。 A、二进制文件打开后可以先读文件的末尾,而顺序文件不可以 B、在程序结束时,应当用fclose函数关闭已打开的文件 C、利用fread函数从二进制文件中读数据,可以用数组名给数组中所有元素读入数据 D、不可以用FILE定义指向二进制文件的文件指针22、有以下程序#include <stdlib.h>main() {char *p,*q; p=(char *)malloc(sizeof(char)*20); q=p; scanf("%s%s",p,q); printf("%s%s/n",p,q); }若从键盘输入:abc def↙,则输出结果是______。 A、def def B、abc def C、abc d D、d d23、若有以下程序:main() {int k=2,i=2,m; m=(k+=i*=k); printf("%d,%d/n",m,i); }执行后的输出结果是______。 A、8,6 B、8,3 C、6,4 D、7,424、有以下程序#include <string.h>main(){char *p="abcde/0fghjik/0"; printf("%d/n",strlen(p));}程序运行后的输出结果是______。 A、12 B、15 C、6 D、525、有以下程序main() {unsigned char a,b,c; a=0x3; b=a|0x8; c=b<<1; printf("%d%d/n",b,c); }程序运行后的输出结果是______。 A、-11 12 B、-6 -13 C、12 24 D、11 2226、以下选项中,与k=n++完全等价的表达式是_______。 A、k=n,n=n+1 B、n=n+1,k=n C、k=++n D、k+=n+127、有以下程序int a=3;main() {int s=0; {int a=5; s+=a++; } s+=a++; printf("%d/n",s); }程序运行后的输出结果是_______。 A、8 B、10 C、7 D、1128、以下程序中函数f的功能是将n个字符串,按由大到小的顺序进行排序。#include <string.h>void f(char p[][10],int n){ char t[20]; int i,j; for(i=0;i<n-1;i++) for (j=i+1;j<n;j++) if(strcmp(p[i],p[j])<0) { strcpy(t,p[i]);strcpy(p[i],p[j]);strcpy(p[j],t);}}main(){char p[][10]={"abc","aabdfg","abbd","dcdbe","cd"};int i; f(p,5); printf("%d/n",strlen(p[0]));}程序运行后的输出结果是______。 A、6 B、4 C、5 D、329、设有如下定义:struct sk {int a; float b; }data;int *p;若要使p指向data中的a域,正确的赋值语句是______。 A、p=&a; B、p=data.a; C、p=&data.a; D、*p=data.a30、以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下:main() {int n,k; float score,sum,ave; sum=0.0; for(n=1;n<=10;n++) {for(k=1;k<=4;k++) {scanf("%f",&score); sum+=score;} ave=sum/4.0; printf("NO%d:%f/n",n,ave); } }上述程序运行后结果不符合题意,是因为其中有一条语句置于程序中的位置错误,这条语句是______。 A、sum=0.0; B、sum+=score; C、ave=sum/4.0; D、printf("NO%d:%f/n",n,ave);31、有以下程序:float fun(int x,int y) {return(x+y); }main() {int a=2,b=5,c=8; printf("%3.0f/n",fun((int)fun(a+c,b),a-c)); }程序运行后的输出结果是______。 A、编译出错 B、9 C、21 D、9.032、以下程序中的函数reverse的功能是将a所指数组中的内容进行逆置。void reverse(int a[],int n) {int i,t; for(i=0;i<n/2;i++) {t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;} }main(){int b[10]={1,2,3,4,5,6,7,8,9,10}; int i,s=0; reverse(b,8); for(i=6;i<10;i++) s+=b[i]; printf("%d/n",s);}程序运行后的输出结果是______。 A、22 B、10 C、34 D、3033、以下选项中合法的用户标识符是______。 A、long B、_2Test C、3Dmax D、A.dat34、有以下程序main() {char a[]={'a','b','c','d','e','f','g','h','/0'}; int i,j; i=sizeof(a); j=strlen(a); printf("%d,%d/n",i,j); }程序运行后的输出结果是______。 A、9,9 B、8,9 C、1,8 D、9,835、设有定义:long x=-123456L;,则以下能够正确输出变量x值的语句是______。 A、printf("x=%d/n",x); B、printf("x=%ld/n",x); C、printf("x=%8dL/n",x); D、printf("x=%LD/n",x);36、有以下程序#include <stdio.h>main(){FILE *fp; int i=20,j=30,k,n; fp=fopen("d1.dat","w"); fprintf(fp,"%d/n",i);fprintf(fp,"%d/n",j); fclose(fp); fp=fopen("d1.dat","r"); fscanf(fp,"%d%d",&k,&n); printf("%d%d/n",k,n); fclose(fp);}程序运行后的输出结果是_____。 A、20 30 B、20 50 C、30 50 D、30 2037、若有以下说明和定义:typedef int *INTEGER;INTEGER p,*q;以下叙述正确的是______。 A、p是int型变量 B、p是基类型为int的指针变量 C、q是基类型为int的指针变量 D、程序中可用INTEGER代替int类型名38、有以下程序int f(int n) {if (n==1) return 1; else return f(n-1)+1; } main() {int i,j=0; for(i=1;i<3;i++) j+=f(i); printf("%d/n",j); }程序运行后的输出结果是______。 A、4 B、3 C、2 D、139、有以下程序main(){int aa[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+=aa[i][1]; printf("%d/n",s);}程序运行后的输出结果是______。 A、11 B、19 C、13 D、2040、以下叙述中正确的是______。 A、构成C程序的基本单位是函数 B、可以在一个函数中定义另一个函数 C、main()函数必须放在其它函数之前 D、所有被调用的函数一定要在调用之前进行定义[填空题]6、下面程序的运行结果是______。void swap(int *a,int *b) {int *t; t=a;a=b;b=t; }main() {int x=3,y=5,*p=&x,*q=&y; swap(p,q); printf("%d%d/n",*p,*q); }7、函数sstrcmp()的功能是对两个字符串进行比较。当s 所指字符串和t所指字符相等时,返回值为0;当s所指字符串大于t所指字符串时,返回值大于0;当s所指字符串小于t所指字符串时,返回值小于0(功能等同于库函数strcmp())。请填空。#include <stdio.h>int sstrcmp(char *s,char *t) {while(*s&&*t&&*s==______) {s++;t++; } return ______; }8、若fp已正确定义为一个文件指针,d1.dat为二进制文件,请填空,以便为"读"而打开此文件:fp=fopen(______);。9、fun函数的功能是:首先对a所指的N行N列的矩阵,找出各行中的最大的数,再求这N个最大值中的最小的那个数作为函数值返回。请填空。#include <stdio.h>#define N 100int fun(int(*a)[N]) {int row,col,max,min; for(row=0;row<N;row++) {for(max=a[row][0],col=1;col<N;col++) if(______) max=a[row][col]; if(row==0) min=max; else if(______) min=max; } return min; }10、以下程序运行后的输出结果是______。main() {int x=15; while(x>10&&x<50) {x++; if(x/3){x++;break;} else continue; } printf("%d/n",x); }11、下面程序的运行结果是:______。typedef union student {char name[10]; long sno; char sex; float score[4]; }STU;main() {STU a[5]; printf("%d/n",sizeof(a)); }12、有以下程序:#include <stdio.h>main() {char c; while((c=getchar())!='?') putchar(--c); }程序运行时,如果从键盘输入:Y?N?↙,则输出结果为______。13、以下程序运行后的输出结果是______。void fun(int x,int y) {x=x+y;y=x-y;x=x-y; printf("%d,%d,",x,y);}main() {int x=2,y=3; fun(x,y); printf("%d,%d/n",x,y); }
转载地址:http://sjjsi.baihongyu.com/