山东省司法厅最新任免:C语言题急求!~!~!~!~!~!~!~!~!~!

来源:百度文库 编辑:中科新闻网 时间:2024/04/29 18:04:54
急求C语言填空和选择题,有答案更好《网站》
我的信箱是
zr-tcai@163.com

1. 最初的C语言是为描述和实现 UNIX 操作系统而设计的。
2. C语言规定,标识符必须以字母或 下划线 开头。
3. C语言的double型数据在内存中占用 8 个字节的存储单元。
4. ×C语言的变量有 2 种存储类型,其中 static 型变量不进行初始化时,初值自动为0
5.写出下列表达式的求值结果:
(1) 2+3<=2 0 (2) 5/3+2 3
(3) ! (3>2)||8!=7 1 (4) 3+7%3 4
6.已知int=12; 执行语句a*=2+4后,变量a的值为 24 。
7.已知int=2,b; 执行语句b= a--; 后,变量a的值为 1 , b的值为 2 。
8.若有int a=2,b=1,c=0; 执行语句c=a++ - b - -; 后,变量c的值为 1 ,b的值为 0
一、 判断题(1×5分,正确的画√,错误的画×)
(×)1. C语言俗称“低级语言的高级形式”,这说明C语言的功能不强。
(√)2. C语言允许用实型表达式向整型变量赋值。
×(×)3. C语言的全局变量只能是extern存储类型。
×(×)4. 已知int a[4],*p;则语句p=&a;是正确的。
(×)5. 下面的程序段构成死循环。
a=5;
while (1) {a--; if (a<0) break ; }
三、单项选择题:(2×10分)
1. 在IBM-PC机中,unsigned int类型表示的数据范围是( D )。
A)0-127 B)0-255 C)0-32767 D)0-65535
2. 下列符号中,合法的C常量是( C )。
A) 1e8.2 B) 0XFFH C) ‘\n’ D) 089
3.语句x=3; do{printf(“%d”,x);x--}while(x= =0); 的执行结果是( C )。
A)3210 B) 321 C)3 D)无任何显示
4. 已知p、q 是两个同类型的指针变量,下列表达式有语法错误的是( B )。
(A)p!=NULL&&p= =q (B) p*q (C)p++,q-- (D)p-q+1

5.若k= -1, 表达式k= k>=0 ? (k-2) : ( k+2) 的值为( D )。
(A)-3 (B) -2 (C)1 (D)2

×6.下面关于C函数的说法中正确的是( B )。
A)C函数的返回值类型必须是整型、实型或指针三者之一
B)C函数的返回值必须用return语句带回主函数
C)C函数允许递归调用,也允许在函数体中定义子函数
D)任何C函数必须使用return语句带回主程序
×7.若定义typedef struct user {int num; char name[21]; long code;} UserTp,; 则表达式
sizeof(UserTp)的值为( D )。
A) 0 B) 21 C) 31 D) 27
×8.已知static int a[ ]={1,2,3,4}; int *p; 若有p=a+2; 则*p++的值为( C )。
A)1 B)2 C)3 D)4
×9.定义C函数时,若缺省函数返回值类型,则返回值类型为( A )。
A)int B)char C)void D)char *
10. ×为只读操作打开正文(文本)文件,正确的打开方式是( A )。
A) “r+” B) “a” C) “w” D) “rb”
四、多项选择题(2×5分,多选或错选不得分,少选得1分)
1.以下数据类型在内存中占用4个字节的是( BC )。
A) int B) unsigned long C) float D) unsigned char
×2. 定义char s[81]; 后,能正确输入一个字符串到数组s的语句是( ABC )。
A)gets(s); B)scanf (”%c”,s); C)scanf (”%s”,&s[0]); D)gets(&s[0]);
3. 以下关于C源程序文件的说法中正确的是( BCD )
A)是一种二进制文件 B)是一种文本(ASCII码)文件
C)可以用DOS的type命令显示其内容 D)文件扩展名一般为c
×4. 下面关于C语言的说法错误的是( ACD )。
A) C函数必须有形式参数 B) 任何复合语句体的{ }中允许定义局部变量
C) 局部变量都存储在动态存贮区 D) C程序的执行起点只能是main函数
5. 以下程序正确计算p=n! (n>=0)的是( AB )。
A) for(p=1.0,k=1;k<=n;) p*=k++; B) p=1.0;k=0;while(k<n) p*=++k;
C) p=1.0;k=1;do{++k;p*=k;} while(k<=n); D) p=1.0;for(k=n;k>=1;k--) p*=k--;
五、读程序与程序填空(共22分)
1.阅读以下程序,写出程序运行结果:(共3Χ4分)
× (1) #include ”stdio.h”
void main()
{char a[61],*s;int n;
gets(a);
for(s=a;*s;s++) if(*s>=’a’&&*s<=’z’) *s-32;
puts(a);
}
若程序的输入为abcb,则输出结果为 ABCD 。
(2) #include ”stdio.h”
void main()
{ int s=0,k=0;
while(k<4) {s+=k;k++;printf(“%d”,s);}
}
该程序的输出是 0136 。
(3) #include “stdio.h”
void main( )
{static int a[5]={2,-15,1,0,-7}; int i;
for(i=0;i<5;i++)
if(a[i]<0) a[i] = -a[i];
for(i=4;i>=0;i--) printf(“%4d”, a[i]);
}
该程序的输出是7 0 1 15 12
(4) ×#include “stdio.h”
#define N 5
int swap(int *p, int *q)
{int t;
if(p<q) {t=*p;*p=*q;*q=t;}
return p<q;
}
void f(int a[ ],int m)
{int *p, *q;
p=a;q=a+m;
while(swap(p,q))
{p++; q--}
}
void main( )
{int m,a[N];
for(m=0;m<N;m++) scanf(“%d”,a+m);
f(a,N-1);
for(m=0;m<N;m++) printf(“%d”,a[m]);
}
若程序的输入为1 2 3 4 5, 则输出结果为 5 4 3 2 1
2.程序填空:(共10分)
(1) ×以下程序的功能是输入年、月、日,求该日期是这一年的第几天,填空使之完善。
#include “stdio.h”
int IsLeap(int y) /* 此函数的功能是判断年号y是否为闰年 */
/* 已知闰年的条件是年号y能被4整除,但不能被100整除,或年号y能被400整除 */
{int r;
if( y%4= =0&&y%100!=0||y%400= =0 )
r=1;
else
r= 0 ;
return r;
}
int DaysofMonth(int y,int m) /* 此函数的功能是求y年m月的天数 */
{ int days;
switch(m)
{case 4,6,9,11:days=30;break;
case 2:if(IsLeap(y)) days=28;else days=29;break;
default:days= 31 ;
}
return days ;
}
void main ( )
{int k,y,m,d,days;
printf(“Input year,month,date:”);scanf(“%d%d%d”,&y,&m,&d);
days=0;
for(k= 1 ; k<m ;k++)days+= DaysofMonth(y,k);
days+=d;
printf(“days=%d\n”,days);
}
(2) 下面程序的功能是输出100至1000以内的素数,请填空使之完善。
#include “stdio.h”
#include “ math.h ”
void main ( )
{ int m,k,j;
for(m=100;m<=1000;m++)
{k=sqrt(m);
for(j=2; j<=k ;j++)
if(m%j = = 0) break;
if( j>k或 j>=k+1 ) printf(“%5d”,m);
}
}
六、根据题意编写程序:(3Χ6+10=28分)
1. 编程序,从键盘输入a0,a1,a2,…,an计算s=ao+a1x+a2x2+…+anxn
×2.编程序,将正文(文本)文件中的小写字母变成大写并统计输出文件有多少个字符,
要求文件名由键盘输入。
×3.编程序,输入n个英文单词(n用#define定义为8),然后将这些单词按英文字典顺
序输出。
×4.编程序,从键盘输入n个学生的姓名、学号和住址,按照学号次序把它们串成一个单向链表。
1. main( )
{float x,a[n+1],s=0.0;
int i,n;
printf(“请输入n和x的值”);
scanf(“%d,%f”,n,x);
printf(“请输入所有系数的值”);
for(i=0;i<=n;i++)
scanf(“%f”,&a[i]);
for(i=0;i<=n;i++)
s=s+a[i]*pow(x,i);
printf(“s=%f”,s”);
}
2. #include “stdio.h”
main ( )
{int i;char ch,name[80];
FILE *fp;
i=0;
printf(“please input the filename:”);
scanf(“%s”,name);
if((fp=fopen(name,”r+”))==NULL)
{ printf(“cannot open the file”);
exit(0);}
ch=fgetc(fp);
i++;
if((ch>=’a’)&&(ch<=’z’)) ch=ch-32;
fputc(ch,fp);
printf(“字符总数为%”,i);
fclose(fp);
}
3. #include "stdio.h"
#include "string.h"
#define n 8
void main( )
{char *p,*s[n],t[21];
int i,j;
for(i=0;i<n;i++)
{scanf("%s",t);
s[i]=(char *)malloc(strlen(t)+1);
strcpy(s[i],t);
}
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(strcmp(s[i],s[j])>0)
{p=s[i];s[i]=s[j];s[j]=p;}
for(i=0;i<n;i++)
printf("%s\n",s[i]);
}
输入
basic
good
well
c
pascal
morning
hlr
cpp
输出:
basic
c
cpp
good
hlr
morning
pascal
well

我有,不过都是我们学校的期中期末考题,我是浙大的,把信箱说一下,我发给你吧