习题一 c语言程序设计概述。
一、名词解释。
1)程序p1 (2)程序设计p1 (3)机器语言p1 (4)汇编程序p2
5)高级语言p2 (6)编译程序p3 (7)解释程序p3 (8)算法p4
9)结构化的程序设计p9
二、简述题。
1. 设计程序时应遵循哪些基本原则?p4
答:正确性、可靠性、简明性、有效性、可维护性、可移植性。
2. 算法的要素是什么?算法具有哪些特点?
答:算法的要素是:操作与控制结构;算法的特点有:有穷性、确定性、有效性、有零个或多个输入、有一个或多个输出。
3. 算法的表示形式有哪几种?
答:算法的表示形式有:自然语言、传统流程图、伪**、结构化的流程图(n_s流程图,盒图)。
4. 有哪三种基本结构?
答:三种基本结构是:顺序结构、选择结构和循环结构。
5. 传统流程图与n-s流程图最大的区别是什么?
答:n-s流程图去掉了在传统流程图中常用的流程线,使得程序的结构显得更加清晰、简单。
三、用传统流程图、n-s图分别表示求解以下问题的算法。
1. 有3个数a,b,c,要求按由大到小的顺序把它们输出。
2. 依次将10个数输入,求出其中最大的数。
和最小的数并输出。
3. 求1+2+3+…+100的值。
4. 求1×2×3×…×10的值。
5. 求下列分段函数的值。
6. 求100~200之间的所有素数。
7. 求一元二次方程ax2+bx+c=0的根。分别考虑d=b2-4ac大于0、等于0和小于0三种情况。
四、注释下面c程序的各个组成部分。
main主函数 */
程序开始 */
int a,k,m定义三个用来存放整数的变量 */
a=10将整数10赋值给变量a */
k=2将整数2赋值给变量k */
m=1将整数1赋值给变量1 */
a=(k+m)*k/(k-m); 先求出算术表达式的值,并将其赋值给变量a */
printf("%d",a); 在屏幕上打印出变量a 的值 */
程序结束 */
练习24-14 cb ddbca adda
二、填空题。
1.字母 l 或字母 l
2. 字符或%c 、 整数或%d
3.在程序运行过程中,其值可以在一定的范围内变化的量。
习题三顺序程序设计。
一、 选择题。
1~10:bccbc ccdcc
二、 填空题。
1. printf( )scanf( )
2. l (注:long的第1个字符)
3. 域宽,即在格式字符前加一个整数,如%5d
5. e 、 g
7. s 、 c
10. i
习题四选择结构程序设计。
一、 填空题。
3. x==0
二、 选择题。
1~7:ddcad dc
三、 程序阅读题。
6. a=2,b=1
7. pass warn
习题五循环结构程序设计。
一、 阅读题。
二、 填空题。
3. x
三、3. b=i+1
5. i<=9 、 j%3!=0
6. d=1.0 、 k=k+1 、 k<=10
四、 选择题。
1~8:addab dda
习题六数组。
一、 选择题。
1~8: bdbcd cdb 12~16 cdcc d
二、 填空题。
2. 先行后列
3. 连续的存储空间中
4. quickc
5. (c=getchara’+i或65+i
6. ‘0str1[i]-str2[i]
7. cdabc
12. azyd
13 4 some string *test
习题七函数。
一、 选择题。
1~10:bdcdd bdbac
二、 11~18:aabbb aba
三、 填空题。
1. 函数声明
2. 自动将其转换为函数定义时的类型
6. i<=n 、 s 、 0 、 f(k)
7. 0.5*(x0+a/x0) 、a,x1
8. itis
习题八用户标识符的作用域和存储类。
一.选择题。
1—10:adbbc cabdb
11-12: db 19a
二.填空题。
1. 静态局部变量的作用域是从定义点到函数体(或复合语句)结束 。
2. 凡在函数中未指定存储类别的变量,其隐含的存储类别为 auto 。
3. 变量的作用域是指变量的有效范围,在作用域内可以引用该变量。按作用域来说,变量可分为 ①局部变量和 ②全局变量。
4. 根据函数能否被其它源文件调用,函数可分为 ① 外部函数和 ②静态(或内部)函数。
6. 下列程序的输出结果是 2,5,1,2,3,-2 。
main()
int a=3,b=2,c=1;c-=+b; b*=a+c;
int b=5,c=12; c/=b*2; a-=c; printf(“%d,%d,%d,”,a,b,c); a+=-c; }
printf(“%d,%
d,%d”,a,b,c);
7. 下列程序的输出结果是 。
#include <>
static int a=5;
main()
printf(“a=%d”,a); p1();p2();
p1() printf(“a*a=%d”,a*a); a=2;}
p2() printf(“a*a*a=%d”,a*a*a);}
8. 下列程序的输出结果是 20,10 。
#include <>
main()
int x=10;
printf(“%d”,x);
9. 下列程序由两个文件组成,其运行结果是 x=2 。
* 文件1 */
int x;
sub()* 文件2 */
static int x=2;
main()
习题九编译预处理。
一. 选择题。
1—10: ddcbc cabbb
二. 填空题。
1. 下列程序的输出结果是 1000 10 。
#define n 10
#define s(x) x*x
#define f(x) (x*x)
main()
int i1,i2;i1=1000/s(n);i2=1000/f(n);printf(“%d %d”,i1,i2);}
2. 设有如下宏定义:
#define myswap(z,x,y)
以下程序段通过宏调用实现变量a、b内容交换,请填空。
float a=5,b=16,c;myswap( c ,a,b);
3. 下列程序的输出结果是 11 。
#define nx 2+3
#define ny nx*nx
main()
int i=0,m=0; for(;i4. 下列程序的输出结果是 7 。
#define max(x,y) (x)>(y)?(x):(y)
main()
int a=5,b=2,c=3,d=3,t; t=max(a+b,c+d)*10; printf(“%d”,t);}
5. 下列程序的输出结果是 min 。
#define max(a,b) a>b
#define equ(a,b) a==b
#define min(a,b) amain()
int a=5,b=6; if(max(a,b)) printf(“max”);if(equ(a,b)) printf(“equ”);
if(min(a,b)) printf(“min”);
6. 下列程序的输出结果是 0 1 1 。
#define test
main()
int x=0,y=1,z; z=2*x+y;
#ifdef test
printf(“%d %d ”,x,y);
#endif
printf(“%d”,z);
c语言试卷c
a.p q c.p n1 10 若有说明语句 int a,b,c,d c 则能从键盘读入三个整数分别赋给变量a b c的语句是。a.scanf d d d a,b,d b.scanf d d d a,b,d c.scanf d d d a,b,dd.scanf d d d a,b,d 11 c语言标...
C语言试卷A
青海大学试卷 a卷 系别 班级学号姓名。考试课程 程序设计基础 c 考试日期 2009 年 12月17日。注 所有答案均写在答题卡上,答在试卷上不得分,考试结束后试卷和答题卡一并交回。一 填空题 每空1分,共16分 1 整型静态数组没有初始化,也没有赋值,此时数组元素的值均为 0 2 数组在内存中占...
C语言试卷
一 填空共5题 共计10分 第1题 2.0分 题号 339 赋值运算符的结合性是由 右 至 左 第2题 2.0分 题号 925 在c 语言结构化程序中,函数 是程序的基本组成单元 在c 语言的面向对象设计框架中,对象 是程序的基本组成单元。第3题 2.0分 题号 926 c 语言的参数传递机制包括传...