1、实验十 综合练习【目的与要求】1要求学生能够运用所学过的基础语法知识和基本编程技能进行综合练习。2独立完成3套模拟试题。【上机内容】模拟试题一一、选择题(每题1分 共15分)1设 x,y 为 float 型变量,则下列()为不合适的赋值语句A +x; B y=(float)3;C x=y=0; D x*=y+8;2若 x 为 int 变量,则执行下列语句 x 的值为()x=65535;printf(“%dn”,x);A 65535 B 1C 无定值 D -13下面()不正确的转义符()A t B aC 081 D n4在 C 语言中,char 类数据在内存中是以()形式存储的A 原码 B 反码
2、C 补码 D ASCII 码5以下变量名()是合法的。A break B $123C lotus_2_3 D 6判断 char 型变量 c1是否为小写字符的最简单且正确的表达式() 。A a=c1) D (c1=a)else y=0;C y=0; if (x=0) if (x0) y=1; else y=-1;D if (x=0) if (x0) y=1;else y=0; else y=-1;9while (!x)中(!x)与下面条件()等价A x= =0 B x= =1C x!=1 D x!=010 以下不是无限循环的语句为() 。A for (y=0,x=1;x=+y;x+);B for
3、 (;x+);C while (1) x+;D for (i=10;i-) sum+=i;11 若有以下语句,则下面()是正确的描述。Char x=”12345”;Char y=1,2,3,4,5;A x,y 完全相同。B x,y 不相同。C x 数组长度小于 y 数组长度。D x,y 字符串长度相等。12 为了判断两个字符串 s1 和 s2是否相等,应当使用() 。A if (s1= =s2) B if (s1=s2)C if (strcpy(s1,s2) D if (strcmp(s1,s2)= =0)13 C 程序中函数返回值的类型是由()决定。 A return 语句中的表达式类型。B
4、 调用该函数的主调函数类型。C 调用函数时临时决定。D 定义函数时所指定的函数类型。14 若 int t, a=5,b=6,w=1,x=2,y=3,z=4,则经过 t=(a=wx)case 2:printf(“bn”);case 3:printf(“cn”);A a B abcC abc D ab二写出下列程序的运行结果(每题3分,共15分)1 main()int i,j,k;char space= ;for(i=0;ij?(j-):(i-) k+;A 1,9,1 B 1,0,2C -1,0,1 D 0,0,22 int i=0,j=0;int a=2,b=4,c=5,d=6;表达式(i=a-
5、b)do n=n+n;n-; while (n8下面关于”A”的说法正确的是()A 它代表一个字符常量 B 它代表一个字符串常量C 它代表一个字符 a D 它代表一个变量9以下语句执行后变量 c 的结果是()int a=7,b=2;float c;c=a/b;A 3.5 B 3C 3.0 D 110 设定如下变量,则表达式5+b+i*f-d/e-a的结果是()int i;float f;double d;long int e;A 浮点型 B 长整型C 整型 D 双精型11 以下不正确的定义语句是()A double x5=2.0,4.0,6.0,8.0,9.0;B int y=5=0,1,3,
6、5,7,9;C char c1 =1,2,3,4,5;D char c2 =x10,x1,x8;12指出哪一个不是 C 语言的赋值语句()A int a=1,b=3; B i+;C a=b=5; D y=int(i);13 以下哪一个是无限循环的语句为() 。A for (y=0,x=0;x=+y;x+);B for (x=1;x+);C i=15; while (x10) x-;D for (i=10;i5;i-) sum+=i;二写出下列程序的运行结果(每题3分,共15分)1#include “stdio.h”main()int i;for (i=1;i8一个 C 语言程序总是从()开始执
7、行的。A 主过程 B 主函数C 子函数 D 按书写顺序9PC 机中, C 语言的 int,char,float 所占用的内存为()字节。A 1, 2, 4 B 2,2,2C 2,1,4 D 2,2,410. 若 k 为 float 型,则下列程序执行结果为()k=2.0;while (k!=0)printf(“%d”,k);k-;printf(“n”);A 无限多次 B 0次C 1次 D 2次二 按题目要求填空完善下列程序(每题6分,共24分)1 按逆序输出一个字符串Void reversr(str)Char str;int len.i;char c;len=;for (i=0;imain()
8、char string256;gets(string);reverse(string);puts(string);2输出 Fibonacci 数列的前15项,要求每行输出5项。#define M 15main()int fibM;int i,fib0=1;fin1=1;for (i=2;i。 (12分)提示 推算公式:s=yy-1+(yy-1)/4-(yy-1)/100+(yy-1)/400+ddw=s-7*(s/7)其中 yy 是年份数,dd 是 yy 年元旦到日期 d 的总天数,w 是星期序数,w=0,1,2,3编写程序:有两个正整数 a 和 b,已知 a*b=2048,求 a、b 各为何值时,a+b 的值最小。(11分)4编写程序,找出一个4位数的完全平方数,该数减去1111后,结果仍是一个完全平方数。(完全平方数是一个整数,它是另一个整数的平方。例如25是5的平方,则25是一个完全平方数。 ) (10分)5已知在正文文件 test.txt 中存放有120个记录,每个记录中只有一个数。在文件中,从第一个数开始,每四个数为一组,第一个数为不同商场的代号(顺序号) ,其余三个数代表三类商品的营业额(万元)。编写程序,统计计算并向文件 t2.dat 输出各商场的总营业额