C程序设计模拟试卷(一)
一、选择题
1.下列关于单目运算符++、--的叙述中正确的是( )
A) 它们的运算对象可以是任何变量和常量
B) 它们的运算对象可以是char型变量和int型变量,但不能是float型变量
C) 它们的运算对象可以是int型变量,但不能是double型变量和float型变量
D) 它们的运算对象可以是char型变量、int型变量和float型变量
2.若有以下程序段(n所赋的是八进制数)
int m=32767,n=032767
printf("%d,%o/n",m,n);
执行后输出结果是( )
A) 32767,32767 B) 32767,032767
C) 32767,77777 D) 32767,077777
3.在一个C程序中( )
A) main函数必须出现在所有函数之前
C) main函数必须出现在所有函数之后 B) main函数可以在任何地方出现 D) main函数必须出现在固定位置
4.C语言中用于结构化程序设计的三种基本结构是( )
A) 顺序结构、选择结构、循环结构 B) if、switch、break
C) for、while、do-while D) if、for、continue
5.若有以下程序段
int m=0xabc,n=0xabc;
m-=n;
printf("%X\n",m);
执行后输出结果是( )
A) 0X0 B) 0x0
6.有以下程序
main()
{ int i;
for(i=0;i<3;i++)
switch(i)
{ case 1: printf("%d",i);
case 2: printf("%d",i);
default: printf("%d",i);
}
}
执行后输出结果是( )
A) 011122 B) 012 C) 0 D) 0XABC C) 012020 D) 120
7.有以下程序
main()
{ int p[7]={11,13,14,15,16,17,18},i=0,k=0;
while(i<7&&p[i]%2){k=k+p[i];i++;}
printf("%d\n",k);
}
执行后输出结果是( )
A) 58 B) 56 C) 45 D) 24
8.有以下程序
int fl(intx,int y)
{ return x>y?x:y; }
int f2(int x,int y)
{ return x>y?y:x; }
main()
{ int a=4,b=3,c=5,d,e,f;
d=f1(a,b); d=f1(d,c);
e=f2(a,b); e=f2(e,c);
f=a+b+c-d-e;
printf("%d,%d,%d\n",d,f,e);
}
执行后输出结果是( )
A) 3,4,5 B) 5,3,4 C) 5,4,3 D) 3,5,4
9.以下能正确定义数组并正确赋初值的语句是( )
A) int N=5,b[N][N]; B) int a[1][2]={{1},{3}};
C) int c[2][]={{1,2},{3,4}}; D) int d[3][2]={{1,2},{34}};
10.有以下程序
main()
{ char s[]="\n123\\";
printf("%d,%d\n",strlen(s),sizeof(s));
}
执行后输出结果是( )
A) 赋初值的字符串有错 B) 6,7 C) 5,6 D) 6,6
二、程序填空
1. 下面程序的功能是用do-while语句求1到1000之间满足“用3除余2;用5除余3;用
7除余2”的数,且一行只打印五个数。请填空:
#include<stdio.h>
main()
{
int i=1,j=0;
do
{
__)
{
printf(“%4d”,i);
j++;
__)
printf(“\n”);
}
i=i+1;
}while(i<1000);
}
2.函数fun能够按以下形式构成一个杨辉三角形,请填空:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
#define N 11
fun(int a[][N])
{
int i,j;
for(i=1; i<N; i++)
{
a[i][1]=1;
a[i][i]=1;
}
}
3.下列给定程序中,函数fun()的功能是:求S的值。
设S=(22/(1*3))*(42/(3*5))*(62/(5*7))* *(2k)2/((2k-1)*(2k+1))
#include <conio.h>
#include <stdio.h>
#include <math.h>
double fun(int k)
{
int n;
double s, w, p, q;
s=1.0;
while(n<=k)
{
w=2.0*n;
p=w-1.0;
q=w+1.0;
s=s*w*w/p/q;
n++;
}
}
main()
{
printf("%f\n ",fun(10) );
}
4..下列给定程序中,函数fun()的作用是:将字符串tt中的大写字母都改为对应的小写字母,其他字符不变。
#include <stdio.h>
#include <string.h>
#include <conio.h>
char fun(char tt[])
{
int i;
for(i=0;tt[i];i++)
{
))
tt[i]+=32;
}
return(tt);
}
main()
{
char tt[81];
printf("\nPlease enter a string: ");
gets(tt);
));
}
5.下列给定程序中,函数fun()的功能是:根据输入的3个边长(整型值),判断能否构成三角形:若能构成等边三角形,则返回3,若是等腰三角形,则返回2,若能构成三角形则返回1,若不能,则返回0
#include <math.h>
#include <stdio.h>
fun(int a,int b,int c)
{
)
{
if(a= =b&&b= =c)
return 3;
else if(a= =b||b= =c||a= =c)
return 2;
else
return 1;
}
return 0;
}
main()
{ int a,b,c,shape;
printf("\nInput a,b,c: "); scanf("%d%d%d",&a,&b,&c);
printf("\na=%d, b=%d, c=%d\n",a,b,c);
shape=fun(a,b,c);
printf("\n\nThe shape :%d\n",shape);
}
三、读程序写结果
1. main()
{
union
{
unsigned int n;
unsigned char c;
}u1;
ul.c=`A`;
printf("%c\n",u1.n);
}
程序结果为:
2.main()
{
int a[][3]={{1,2,3},{4,5,0}},{*pa}[3],i;
pa=a;
for(i=0;i<3;i++)
if(i<2)
pa[1][i]=pa[1][i]-1;
else
pa[1][i]=1;
printf("%d\n",a[0][1]+a[1][1]+a[1][2]);
}
程序结果为:
3.void fun(int *a,int i,int j)
{
int t;
if(i<j)
{
t=a[i]; a[i]=a …… 此处隐藏:7254字,全部文档内容请下载后查看。喜欢就下载吧 ……