试题纸(a卷)
课程名称:计算机程序设计基础(c语言) 适用专业年级:2011级理工类
考试时间:90分钟考试方式:_闭卷。
学号专业班级考生姓名。
注意事项:****全部写在答题册上,请标清楚题号!写在试卷上无效!
一、单项选择题 (每小题1分,共10分)
1、下列格式符中,哪一个可以用于以16进制形式输出整数( )
a.%16db.%16xc.%d16 d.%d
2、字符变量ch=’a’,int类型变量k=25,语句printf(〞%3d,%3d〞,ch,k);输出( )
a.65, 25 b.65 253 c.65 25 d.a 25
3、下列各语句序列中,能够且仅输出整型变量a、b中最大值的是( )
a.if(a>b) printf(”%d”,a); printf(”%d”,b);
b.printf(”%d”,b); if(a>b) printf(”%d”,a);
c.if(a>b) printf(”%d”,a); else printf(”%d”,b);
d.if(a4、int a=1, x=1; 循环语句while(a<10) x++;a++;的循环执行( )
a. 无限次 b.不确定次 c.10次 d.9次。
5、下列while循环语句,执行次数是( )
i=4; while(--i) printf(“%d”,i);
a. 3次b. 4次 c. 0次 d. 无数次。
6、若有以下数组说明,则数值最小的和最大的元素下标分别是 (
int a[12] =
a.1,12 b.0,11 c.1,11 d.0,12
7、下列各语句定义了数组,其中哪一个是不正确的( )
a.char a[3][10]=;b.int x[2][2]=;
c.float x[2][
8、对于同类型的指针变量,一般不能进行的运算是( )
a.– bc.+ d.==
9、下列不正确的定义是( )
a.int *p=i, i; b.int *p, i; c.int i, *p=&i; d.int t, *p;
10、设指针x指向的整型变量值为25,则printf(“%d”,+x);的输出是( )
a.23 b.24 c.25 d.26
二、填空题(每空1分,共15分)
1、运行一个c程序需要经历和运行几个阶段。
2、若int k=10, 循环语句while (k=0) k=k-1; 执行次。
3、设有定义语句 char a[10] =abcd" ;则a[3]值为 ,a[5]值为 。
4、函数中的形参和调用时的实参都是数组名时,传递方式为都是变量时,传递方式为。
5、函数f定义如下,调用f("1475")的返回值为。
int f(char s[ ]return k; }
6、函数change定义如下,a=10、b=5,执行 change(a,b)后a、b的值分别为。
void change(int a,int b)
7、设int a[10], p=a; 则对a[3]的引用可以是p[ ]和 *(p )。
8、设有char *a=”abcd”; 则printf(“%s”,a+1);的输出是 ;而printf(“%c”,*a+1));的输出是 。
9、若d是已定义的双精度变量,再定义一个指向d的指针变量p的语句是 。
三、程序填空(每空2分,共20分)
1、输入n个实数,输出其中的最大值、最小值。
#include <>
void main()
float no1,nmax,nmin;
scanf("%d",&n); scanf("%f",&no1);
nmax=no1;
for(i=2;i<=n;i++)
2、下面程序的功能是输出数组s中最小元素的下标,请填空。
void main( )
for(p=0,k=p; p<6if(s[p] printf(“%d” ,k);
3、下列函数用于将任意方阵(行数等于列数的二维数组)转置。
void mt
int i,j; float t;
for(i=0;ifort=a[i][j]; a[i][j]= a[j][i]; a[j][i]=t; }
4、以下程序的功能是从键盘上输入若干个字符(以回车键作为结束)组成一个字符串存入一个字符数组,然后输出该字符数组中的字符串。请填空。
#include “
void main( )
char str[81],*sptr;
int i;
for(i=0;i<80;i++)
str[isptr=str;
while(*sptr) putchar
四改错题(下列程序中下划线所在的语句有错,请改正,不得增加语句,每个错误3 分,共15分)
1、下列给定程序中,函数fun的功能是:根据整型形参m的值,计算如下公式的值。t=1-1/(2×2)-1/(3×3)-…1/(m×m)
例如,若m中的值为5,则应输出:0.536389。
请改正程序中的错误,使程序能得出正确的结果。
注意,不要改main函数,不得增行或删行,也不得更改程序的结构!
试题程序:#include <>
#include <>
double fun (int m)
double y=1.0;
int i;
for (i=2;i y-=1/(i*i
return(y);
main ()
int n=5;
clrscr();
printf("rhe result is %1f",fun(n));
2、下列给定程序中,函数fun的功能是:用选择法对数组中的n个元素按从小到大的顺序进行排序。
请改正程序中的错误,使程序能得出正确的结果。
注意,不要改main函数,不得增行或删行,也不得更改程序的结构!
试题程序:#include <>
#define n 20
void fun(int a,int n)
int i,j,t,p;
for (j=0;j
main()
int a[n]=,i,m=5;
printf("排序前的数据:")
for (i=0;ifun(a,m);
printf("排序后的数据:")
for (i=0;i五、程序分析题(每题4分,共20分)
#include <>
void main()
C语言考试试卷
2010年c语言考卷详解。b场 单选题 1 c 语言程序中可以对程序进行注释,注释部分必须用符号 c 括起来。a c long b 2 3 d double y 3 10 执行以下程序段后,m的值是 c int a int m 10,k,ptr a for k 0 k 5 k m ptr k a 2...
C语言考试试卷
选择题。1 以下叙述正确的是。a c语言比其他语言高级 b c语言可以不用编译就能被计算机识别执行。c c语言以接近英语国家的自然语言和数学语言作为语言的表达形式。d c语言出现的最晚 具有其他语言的一切优点。2 c语言中用于结构化程序设计的三种基本结构是。a 顺序结构 选择结构 循环结构 b if...
C语言考试试卷
西电09级 c语言 期末试卷a 理论闭卷部分 2009 2010学年第一学期2010年1月考。班级姓名学号。注意事项 考生文件 存盘位置 刘涛。doc 一 单项选择题 每题1分,共12分 1 c语言中的标识符只能由字母 数字和下划线组成,且第一个字符 a 必须为字母b 必须为字母或下划线 c 必须为...