《C程序设计2》模拟试卷1
一、读程写结果(每题5分,共30分) 1、下面程序的运行结果是____sw*____.
#include
char str[]=\ int k;
for(k=2;(c=str[k])!='\\0';k++) {
switch(c) {
case 'I': ++k; break; case 'L': continue;
default: putchar(c); continue; }
putchar('*'); } }
2、以下程序的运行结果是____A+B=9____. int a=5,b=7; main() {
int a=4,b=5,c; c=plus(a,b);
printf(\ }
plus(int x,int y) { int z; z=x+y; return(z); }
3、以下程序的运行结果是_____10,x___. #include
int x; char c; }; main() {
struct node a={10,'x'}; func(a);
printf(\ getch(); }
func(struct node b) {
b.x=20; b.c='y'; }
4、以下程序的运行结果是__a=3______. #include
int a; int *b; }s[4],*p; main() {
int i,n=1;
for(i=0;i<4;i++) {
s[i].a=n;
s[i].b=&s[i].a; n=n+2; }
p=&s[0]; p++;
printf(\ getch();
5、以下程序的运行结果是 abcdkmn m=7 #include
char a[20]=\int m;
m=func(a);
printf(\ getch(); }
int func(char *p) {
int n;
for(n=0;*p!='\\0';p++) {
printf(\
n++; }
printf(\ return n; }
6、以下程序的运行结果是 a1 a2 a3 a1 a2 a3 #include
char a[10]=\ p1=a;p2=b; while(*p2!='\\0')
{ *p1=*p2; p1++; p2++;} *p1='\\0'; puts(a); puts(b); getch(); }
二、编程题(共70 分)
1. (10分)编程计算表达式2!+4!+……+n!的值,其中n是由键盘输入的一偶数。
#include
double r=1;
for(i=1;i<=n;i++) r*=i; return r; }
main() {
int n,i;
double result=0; printf(\ scanf(\ for(i=2;i<=n;i+=2) result+=f(i);
printf(\}
2. (10分)a是一个2行4列的整型数组,且各元素均已赋值。函数max_value可求出其中的最大的元素值max,并将此值返回主调函数。今有函数调用语句max=max_value(a,2),请编写max_value函数及主函数实现之。
#include
int Max_value(int arr[][4],int n) {
int i,j,Max=arr[0][0];
for(i=0;i if(arr[i][j]>Max)Max=arr[i][j]; return Max; } main() { int a[2][4],i,j; printf(\ for(i=0;i<2;i++) for(j=0;j<4;j++) scanf(\ printf(\} 3、(10分)有一字符串,包含n个字符,写一函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串。(要求用指针实现) #include void funstrcpy(char str1[],char str2[],int n,int m) { char *p=&str1[m-1]; int i=0; while(*p!='\\0') { str2[i]=*p; p++;i++; } str2[i]='\\0'; } main() { int len,m; char str1[50],str2[50]; gets(str1); len=strlen(str1) ; printf(\ scanf(\ if(m 4、(10分)已有变量定义和函数调用语句:int x=57 ; isprime(x); 函数isprime( ) 用 来判断一个整形数a是否为素数,若是素数,函数返回1,否则返回0。请编写isprime函数。 int isprime(int a) { } #include
相关推荐: