1、 1装订线装订线临沂师范学院 20052006 学年度第二学期C 程序设计试题(F)(适用于 2004 级数本、专科学生)一、单项选择题(每小题 2 分,共 20 分)1. C 语言程序中可以对程序进行注释,注释部分必须用符号_括起来。A、 和 B、 和 C、 “/*”和”*/” D、 “*/”和”/*”2. 下列运算符中,优先级最低的是_。A、* B、!= C、+ D、=3. 若变量已正确定义,表达式 (j=3, j+) 的值是_ 。A、3 B、 4 C、5 D、04. 已知字符 a 的 ASCII 码为 97 ,执行下列语句的输出是_。printf (“%d, %c“, b, b+1 )
2、; A、98, b B、语句不合法 C、98, 99 D、 98, c5. 表达式 strcmp(“box”, “boss”) 的值是一个_。A、 正数 B、 负数 C、 0 D、 不确定的数6. 数组定义为 int a32=1, 2, 3, 4, 5, 6,数组元素_的值为 6。A、a32 B、a21 C、a12 D、a237. 要调用数学函数时,在#include 命令行中应包含_。A、 ”stdio.h” B、 ”string.h” C、 ”math.h” D、 ”ctype.h”8. 若 a 是基本整型变量,c 是单精度实型变量,输入语句 _是错误的。A、scanf(”%d,%f”,
3、B、scanf(”d=%d, c=%f”, C、scanf(”%d%f”, D、scanf(”%d%f”, a, c);9. 若变量已正确定义并且指针 p 已经指向某个变量 x,则(*p)+相当于_。A、p+ B、x+ C、*(p+) D、 B、p2=*p1; C、p2= D、p2=*p1;二、填空题(每小题 2 分,共 20 分)1. 写出下列程序段的输出结果。float x1, x2;x1=3/2;x2=x1/2;printf(“%d, %.1f“, (int)x1, x2) ;2. 表达式 (722 ) 的值是_。 3. 写出下列程序段的输出结果 。#define A 10#define
4、 B (A0) ? 2*f(n-1)+f(n-2) : -1); 8. 写出下列程序段的输出结果 。char str=“hellotworldn“;printf(“%d, %cn“, sizeof(str), *(str+10);9. 输入 12345#后,写出下列程序的输出结果 。void main() char c;for(c=getchar(); getchar()!=#; c=getchar()putchar(c);10. 执行程序 find nx ould text.txt 时,*+argv1的值是_。三、程序阅读题(每题 5 分,共 20 分)1#include 2#include
5、void main() #include void main()int i=16,j,x=6; j=i+1; int a=1,b=4,c=2;x*=i=j; float x=10,y=4.0,z;printf(“%d,%dn”,j,x); z=(a+b)/c+sqrt(double)y)*1.2/c+x; printf(“%fn”,z);题号 一 二 三 四 五 总分得分阅 卷 人专业: 科类: 科 班级: 级班姓名: 学号:2运行结果是: 运行结果是:3#include 4 .#includevoid main() void main() int a,b,c,d; int i=10;a=c=
6、0; switch(i) b=1; case 9: i+=1;d=20; case 10: i+=1;if(a) d=d-10; case 11: i+=1;else if(!b) default : i+=1;if(!c) d=25; else d=15; printf(“%d”,i);printf(“d=%dn”,d); 运行结果: 运行结果:四、程序填空题(每空 2 分,共 20 分)1、下面程序的功能是:输入一行字符,统计其中有多少个单词,单词之间用空格分开。请填空完成。# include void main()char str81;int I,( );char c;gets(str)
7、;for(I=0;( )!=0;I+)if(c= )word=0;else if( )word=1;( )printf(“There are %d word in line. n”,num);2、下面程序的功能是:用选择排序法对数组中 10 个数据按由小到大排序。请填空完成。void sort(int a,int n)( )for(I=0;I void main()int b10,I;printf(“enter the arrayn”);for(I=0;I# include void main()int m,i,k;scanf(“%d”, ( )for(i=2;i=k+1) printf(“%d is a prime numbern”,m);else printf(“%d is not a prime numbern”,m);五、编程题 ( 共 20 分,)1. 写一个函数,计算 x 的 n 次方。 (10 分)32. 有一个 3 4 的矩阵,找出最大值及该值所在位置。(10 分)