福建省C语言精选习题集.docx
- 文档编号:30551832
- 上传时间:2023-08-16
- 格式:DOCX
- 页数:25
- 大小:36.33KB
福建省C语言精选习题集.docx
《福建省C语言精选习题集.docx》由会员分享,可在线阅读,更多相关《福建省C语言精选习题集.docx(25页珍藏版)》请在冰豆网上搜索。
福建省C语言精选习题集
第一部分:
选择题
1.以下程序段的运行结果是(A)。
inta=1;
printf("%d,%d,%d\n",a,++a,a++);从右往左运算
A.3,3,1B.1,2,2C.1,2,3D.3,2,1
2.以下程序段执行后p的值是(A)。
inta[3][3]={3,2,1,3,2,1,3,2,1};
intj,k,p=1;
for(j=0;j<2;j++)
for(k=j;k<4;k++)p*=a[j][k];
A.108B.18C.12D.2
3.用数组名作为函数的实参时,错误的说法是(B)。
A.定义形参数组时,元素的个数必须与实参相同
B.可以使用数组名作为形参
C.实参传递给形参的值是数组的首地址
D.可以使用指针变量作为形参
4.以下程序段的运行结果是(D)。
union
{intn;
charstr[2];
}t;
t.n=80;
t.str[0]='a';
t.str[1]=0;
printf("%d\n",t.n);
A.80
B.a
C.0
D.97
5.定义结构体类型变量teach1,不正确的是(D)。
A.structteacher
{intnum;
intage;
};
structteacherteach1;
B.structteacher
{intnum;
intage;
}teach1;
C.struct
{intnum;
intage;
}teach1;
D.struct
{intnum;
intage;
}teacher;
structteacherteach1;
6.若有定义:
structstuent
{intnum;
charsex;
intage;
}stu1;
下列叙述不正确的是(A)。
A.student是结构体类型名
B.structstudent是结构体类型名
C.stu1是用户定义的结构体类型变量名
D.num,sex,age都是结构体变量stu1的成员
7.设有如下语句:
structstu
{intnum;
intage;
};
structstus[3]={{101,18},{102,21},{103,19}};
structstu*p=s;
则下面表达式的值为102的是(B)。
A.(p++)->num
B.(*++p).num
C.(*p++).num
D.*(++p)->num
8.若有下面定义,对结构体变量成员不正确引用的语句是(B)。
structpup
{charname[20];
intage;
intsex;
}p[3],*q;
q=p;
A.scanf("%s",p[0].name);
B.scanf("%d",q->age);
C.scanf("%d",&(q->sex));
D.scanf("%d",&p[0].age);
9.错误的枚举类型定义语句是(A)。
A.enumcar{A,B,C};
B.enumcar{1,2,3};
C.enumcar{X=0,Y=5,Z=9};
D.enumcar{D=3,E,F};
10.以下程序的功能是(C)。
#include
main()
{FILE*fp;
longintn;
fp=fopen("wj.txt","rb");
fseek(fp,0,SEEK_END);
n=ftell(fp);
fclose(fp);
printf("%ld",n);
}
A.计算文件wj.txt的起始地址
B.计算文件wj.txt的终止地址
C.计算文件wj.txt的长度
D.将文件指针定位到文件末尾
11.当顺利执行了文件关闭操作时,fclose函数的返回值是(B)。
A.1
B.0
C.-1
D.一个非0值
第二部分:
改错题
1.程序Cmody051.C,其功能是统计输入字符串中大写英文字母的个数。
如输入:
abcDEFGH123
输出:
5
#include
#include
main( )
{
/**/charstr1/**/;charstr1[50]数组长度足够就行
inti,len,sum=0;
printf("Pleaseinputastring:
\n");
scanf("%s",str1);
len=strlen(str1);
for(i=0;i { if(str1[i]>='A'&&str1[i]<='Z') /**/sum--;/**/sum++; } printf("%d\n",sum); getch( ); } 2.程序Cmody062.C,其功能是将程序中的两个字符串“ABC”、“xyz”连接在一起,并输出“ABCxyz”。 #include #include voidmain( ) { chars1[12]="ABC",s2[]="xyz"; char*ps1=s1,*ps2; /**/ps2=NULL;/**/ps2=s2; /**/while(*ps1==NULL)/**/while(*ps1! =NULL) ps1++; while(*ps2)*(ps1++)=*(ps2++); printf("%s\n",s1); getch( ); } 3.程序Cmody122.C中函数voidchg(char*s),实现将字符串中所有偶数位置上的小写 英文字母转换为大写英文字母(不是英文字母不转换)。 #include voidchg(char*s) {inti,n=0; char*p=s; while(*p) {n++; p++; } for(i=0;i /**/if((s[i]>='a'&&s[i]<='z')||i%2==0)/**/if((s[i]>='a'&&s[i]<='z')&&i%2==0) s[i]=s[i]-32; /**/s[i]='0';/**/s[i]='\0'; } voidmain() { charss[100]; printf("Enterstring: \n"); gets(ss); chg(ss); printf("\nNowstringis: \n"); puts(ss); getch(); } 第三部分: 填空题 1.补充程序Ccon013.C,程序实现从10个整数中找出最大值和最小值。 #include #include intmax,min; voidfind_max_min(int*p,intn) { int*q; max=min=*p; for(q=p;q**/p+n/**/;q++) if(/**/max<*q/**/)max=*q; elseif(min>*q)min=*q; } voidmain( ) { inti,num[10]; printf("Input10numbers: "); for(i=0;i<10;i++)scanf("%d",&num[i]); find_max_min(/**/num/**/,10); printf("max=%d,num=%d\n",max,min); } 2.补充程序Ccon023.C,该程序中可测试歌德巴赫猜想: 从键盘上输入一个大于6的偶数,总能找到两个素数,使得这两个素数之和正好等于该偶数。 #include #include intprime(intn) {intk,flag=1; for(k=2;k<=n/2+1;k++) if(n%k==0){flag=/**/0/**/;break;} returnflag; } voidmain( ) {intnum,a; clrscr( ); do {printf("Pleaseinputanevennumber: "); scanf("%d",&num); }while(num<=6||num%2==1); for(a=2;a<=num/2+1;a++) if(prime(a)&&prime(/**/num-a/**/)) printf("\n%d=%d+%d",num,a,num-a); } 3.补充程序Ccon033.C,其中main函数通过调用average函数计算数组元素的平均值。 #include floataverage(int*pa,intn) { intk; /**/floatavg=0.0;/**/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 福建省 语言 精选 习题集