华南农业大学C语言.docx

上传人:b****6 文档编号:6534107 上传时间:2023-01-07 格式:DOCX 页数:79 大小:50.51KB
下载 相关 举报
华南农业大学C语言.docx_第1页
第1页 / 共79页
华南农业大学C语言.docx_第2页
第2页 / 共79页
华南农业大学C语言.docx_第3页
第3页 / 共79页
华南农业大学C语言.docx_第4页
第4页 / 共79页
华南农业大学C语言.docx_第5页
第5页 / 共79页
点击查看更多>>
下载资源
资源描述

华南农业大学C语言.docx

《华南农业大学C语言.docx》由会员分享,可在线阅读,更多相关《华南农业大学C语言.docx(79页珍藏版)》请在冰豆网上搜索。

华南农业大学C语言.docx

华南农业大学C语言

华南农业大学2002《程序设计C语言》考卷

1

华南农业大学《程序设计C语言》考卷(2003.1)

考试须知:

1.答案必须写在“答题卡”上,写在试卷上不得分。

2.考试结束时,只回收答题卡,不回收试卷。

3.必须在答题卡上正确填写班级、学号、姓名等内容。

一、选择题(每小题2分,共20分)

1C语言程序的三种基本结构是

(1)

A、顺序结构、选择结构、循环结构B、递归结构、循环结构、转移结构

C、嵌套结构、递归结构、循环结构D、循环结构、转移结构、顺序结构

2合法的数组定义是

A、inta[]=“string”B、inta[5]={0,1,2,3,4,5}

C、chars=“string”D、chara[]={0,1,2,3,4,5}

3为了避免嵌套的条件语句ifelse的二义性,C语言规定:

else与(3)配对。

A、缩排位置相同的ifB、其之前最近的未匹配的if

C、其之后最近的ifD、同一行的if

4数组名作为参数传递给函数,作为该参数的数组名被处理为(4)

A、该数组的长度B、该数组的元素个数

C、该数组中元素的值D、该数组的首地址

5一个可执行的C程序的开始执行点是(5)

A、程序中第一个语句B、包含文件的第一个函数

C、main()函数D、程序中的第一个函数

6C语言用(6)表示逻辑“真”值。

A、trueB、1C、非0整数值D、整数0

7运行完下面的C语言程序段后,k的值是(7)。

intk=4;

(k++)+(k++)+(k++)

A、4B、5C、6D、7

8在C语言中,提供的合法保留字是(8)

A、swicthB、cherC、CaseD、default

9若有定义chars[10]=“abcd”,则语句printf(“%s”,s)的输出结果是(u表示空格)

(9):

A、abcdB、aC、abcduuuuuuuD、s

10在C语言中,合法的字符常量是(10)

A、’\084’B、’\x43’C、’ab’D、”\0”

华南农业大学2002《程序设计C语言》考卷

2

二、是非判断题(每小题2分,共20分)

1C语言是以函数为程序的基本单位的。

(对)

2字符常量是用一对双引号括起来的一个字符。

(错)

3字符串的结束标志是’\0’。

(对)

4对于“do{循环体}while(循环条件);”,这个循环结构有可能一次循环体的内

容都无法执行。

(错)

5example和Example是两个完全不同的标识符。

(对)

6C语言中,若函数说明未给出返回值类型,系统默认为void类型。

(错)

7C语言本身不提供输入、输入语句,需要由库函数给出。

(对)

8在C语言中,有调用关系的所有函数必须放在同一个源程序文件中。

(错__________)

9C语言中,32768是不正确的int类型常数。

(对)

10在一个函数内定义的变量只能在本函数范围内有效。

(对)

三、写出下列程序段的输出结果(每小题6分,共30分)

1.有下列程序段,请写出运行结果。

func(intx)

{inty=13;

x=x+y;

returnx;

}

main()

{intx=3;

func(x);

printf("%d",x+x);

}

输出:

6

2.有下面程序段,请写出运行结果

main()

{intsum,j;

for(j=1;j<=100;j++){sum=0;sum=sum+j;}

printf(“sumis%d”,sum);

}

输出:

华南农业大学2002《程序设计C语言》考卷

3

sumis100

3.有下面程序段,请写出运行结果

main()

{

floata=3.4;

intb;

b=a*3;

printf(“%d”,b);

}

输出:

10

4.有以下程序,请写出运行结果。

main()

{intx,n;

for(n=1;n<=50;n++)

{x=n;

if(x%2==0)

if(x%3==0)

if(x%7==0)

printf("%d",n);

}

}

输出:

42

5.以下程序,请写出运行结果

main()

{chargrade;

grade=’B’;

switch(grade)

{case‘A’:

printf(“excellent”);

case‘B’:

printf(“pass”);

case‘C’:

printf(“failure”);

}

}

输出:

passfailure

华南农业大学2002《程序设计C语言》考卷

4

四、编程题(每题10分,共30分)

1.键盘输入1个字符串,将其内部的大写字母转换成对应的小写字母,然后输出。

提示:

字母A的ASC码为65,字母a的ASC码为97。

2.编写判断1个正整数是否素数的函数。

要求在主函数输入原始数据并输出判断

结论。

提示:

判断某个正整数N是素数的标准是,除了1与N以外,不能被任何1个

正整数所整除。

3.求数列1!

+2!

+…+10!

的值。

华南农业大学2004.1《C语言程序设计》考卷

考试须知:

4.答案必须写在“答题卡”上,写在试卷上不得分。

5.考试结束时,只回收答题卡,不回收试卷。

6.必须在答题卡上正确填写班级、学号、姓名等内容,否则没有考试成绩。

一、单项选择题(20分)

1、C程序中主函数main的位置是。

A)必须在其他函数之前

B)可以任意安排

C)必须在其它函数之后

D)必须在程序的中间

2、下列C常量中不合法的是。

A)‘8’B)“8”C)‘800’D)“800”

3、在C语言中,一个CHAR变量占字节。

A)1B)2C)4D)8

4、在switch语句中,执行完一个case分支后要是流程跳出switch结构,应使用

语句。

A)continueB)break

C)elseD)return

5、调用scanf(“%d,%d”,&a,&b);时,正确的键盘输入是

A)12,23B)a=12,b=23

C)12:

23D)1223

6、C语言中,若对函数类型未加显示说明,则函数的隐含类型为类型

A)voidB)double

华南农业大学2002《程序设计C语言》考卷

5

C)intD)char

7、putchar函数可以向终端输出一个

A)voidB)double

C)intD)char

8、为了避免嵌套if..else…语句的二义性,C语言规定ELSE总是与配

对。

A)缩排位置相同的IF

B)在其之前的未配对的IF

C)在其之前的未配对的最近的IF

D)同一行上的IF

9、若str,str1,str2均为字符串,则strcopy(str,strcat(str1,str2))的功能是

A)将字符串str2连接到字符串str1后再复制到字符串str中

B)将字符串str2复制到字符串str1后再复制到字符串str中

C)将字符串str2复制到字符串str1后再连接到字符串str中

D)将字符串str2连接到字符串str1后再与str比较

10、设inta=15,b=9;经过赋值语句a=a/(a-b);后a的值

A)3B)–8C)2D)2.5

答案:

(1)B

(2)C(3)A(4)B(5)A

(6)C(7)D(8)C(9)A(10)C

二、填空题(20分)

1、结构化程序的3种基本结构是、、

2、能实现C程序循环结构的语句包括、、

3、按优先级从高到低排列运算符:

!

、&&、||排列结果

4、假设structstudent

{intnum;

floatscore;

}stu_1;

则结构体类型名与结构体变量明分别是与

5、strlen(“welcome\0”)的结果是

6、字符常量的概念是

7、函数体一般包括声明部分与

8、C的源程序经过后生成目标程序

9、设inta,b;则能正确表示代数式1/(ab)的C语言表达式是

10、变量的指针的概念是

华南农业大学2002《程序设计C语言》考卷

6

答案:

(1)顺序结构、选择结构、循环结构

(2)do~_while、for、while

(3)!

>&&>||(4)structstudent与stu_1

(5)7(6)用单引号‘’界定的字符

(7)执行部分(8)编译

(9)1.0/(a*b)或1/((float)a*b)(10)存放变量的地址

三、程序填空题(20分)

1.判断某个大于2的整数是否是素数。

判断整数M是否是素数的标准是:

除了1与M以外,M不能被任何一个整数所整除。

main()

{intn,i,flag;

flag=1;

scanf(“%d”,

(1));

for(

(2))

if(n%i==0)

{

flag=0;

(3);

}

if(flag!

=0)

printf(“yes”);

else

printf(“no”);

}

答案:

(1)&n

(2)i=2;i

2.一个函数如下,用程序实现之。

main()

{

floatx,y;

scanf(“%f”,&x);

if(x<2)

⎪⎩

⎪í

ì

->=

-<=<

<

=

411(10)

31(210)

(2)

xx

xx

xx

y

华南农业大学2002《程序设计C语言》考卷

7

y=x;

else

if

(1)

y=

(2);

else

y=(3);

printf(“y=%f”,y);

}

答案:

(1)(x<10)

(2)3*x-1(3)4*x-11(此题若先写大于

等于10的分支同样正确,但若表达式少乘号不得分)

四、写出程序运行的输出结果(20分)

1.main()

{inta,b;

int*p_1,*p_2;

a=100;

b=10;

p_1=&a;

p_2=&b;

printf(“%d,%d”,a,b);

printf(“%d,%d”,*p_1,*p_2);

}

程序的运行结果是:

100,10

100,10

2.intm,n;

intmove(inty)

{

m=m+1;

n=n+2;

y=m+n;

return(y);

}

main()

华南农业大学2002《程序设计C语言》考卷

8

{inta,b=10;

m=20;

n=5;

a=move(b);

printf(“a=%d,b=%d,m=%d,n=%d”,a,b,m,n);

}

程序的运行结果是:

a=28,b=10,m=21,n=7

3.#include

main()

{

intnum,dignit,count=0;

num=1246;

while(num!

=0)

{dignit=num%10;

num=num/10;

count=count+dignit;

}

printf(“%d\n”,count);

}

程序的运行结果是:

13

4.main()

{chara[10]=”ABC123xyz”;

inti;

for(i=0;i

if(a[i]>=97&&a[i]<=125)

printf(“%c”,a[i]);

}

备注:

字母A的ASC码是65,字母a的ASC码是97,数字1的ASC码是49。

程序的运行结果是:

xyz

五、编程(20分)(编程题答案略,请自行练习)

1、编写程序求1*2+3*4+……+99*100

华南农业大学2002《程序设计C语言》考卷

9

2、已知某个班30名学生的学号(3位整数)及某门课程的考试成绩(包含1位

小数),要求编写程序完成如下功能:

1)逐个显示考试成绩在90分以上(包括90分)的学生学号及考试成绩

2)显示该课程的平均成绩

编程要求原始数据使用键盘输入并以数组形式存储。

华南农业大学期末考试试卷(B卷)

2004学年第1学期(2005.1)考试科目:

程序设计

考试类型:

(闭卷)考试时间:

120分钟

班级学号姓名

考试须知:

7.答案必须写在“答题卡”上,写在试卷上不得分。

8.考试结束时,只回收答题卡,不回收试卷。

3.必须在答题卡上正确填写班级、学号、姓名等内容,否则没有考试成绩。

一、单项选择题(每小题2分,共30分)

1、下面标识符中,不合法的用户标识符为()

A)PadB)a_10C)_12abD)int

2、调用scanf(“%d,%d”,&a,&b);时,正确的键盘输入是()

A)10,20B)a=10,b=20

C)10:

20D)1020

3、能表示条件0≤x≤100的表达式是()

A)0<=x<=100B.x>=0,x<=100

C)0≤x≤100D)x>=0&&x<=100

4、设有:

inta=1,b=2,c=3,d=4,m=2,n=2;

执行(m=a>b)&&(n=c>d)后n的值为()

A)0B)1C)2D)3

5、下面不正确的字符串常量是()

A)'abc'B)"12'12"C)"0"D)""

6、对字符串“Cat”进行完整赋值的操作是()

A)chars[3]={'C','a','t'};B)chars[]="Cat";

C)chars[3]={"Cat"};D)chars[3];s="Cat";

7、若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是

华南农业大学2002《程序设计C语言》考卷

10

()

A)–3B)9C)–12D)6

8、设x、y均为整型变量,且x=10,y=3,则以下语句的输出结果是

printf(“%d,%d\n”,x--,--y);()

A)10,3B)9,3C)9,2D)10,2

9、在TurboC中,设inta[10];假设数组a开始于内存2000单元,则a[2]的

存储始于()

A)2002B)2004C)2006D)2008

10、在C语言中,引用数组元素时,其数组下标的数据类型允许是()

A)整型常量B)整型表达式

C)整型常量或整型表达式D)任何类型的表达式

11、若有ints[4]={1,2,3,4};,则s[s[0]+2*s[2]-s[3]]的值是()

A)1B)2C)3D)4

12、用数组名作为函数的实参时,传递给形参的是()

A)数_______组的首地址B)数组的第1个元素

C)数组中的全部元素D)数组的元素个数

13、以下程序的输出结果是()

main()

{charch[3][5]={"AAAA","BBB","CC"};

printf(“%s”,ch[1]);

}

A)"AAAA"B)"BBB"C)"BBBCC"D)"CC"

14、有以下程序段

intk=0;

while(k=1)k++;

while循环执行的次数是()

A)无限次B)有语法错,不能执行

C)一次也不执行D)执行1次

15、设有以下说明语句

structstu

{inta;

floatb;

}stutype;

则下面的叙述不正确的是()

A)struct是结构体类型的关键字

B)structstu是用户定义的结构体类型

华南农业大学2002《程序设计C语言》考卷

11

C)stutype是用户定义的结构体类型名

D)a和b都是结构体成员名

华南农业大学2002《程序设计C语言》考卷

12

二、判断题(对的打“√”,错的打“×”,每小题1分,共10分)

1、C程序执行的入口是main函数,所以main函数必须放在程序的开头。

2、注释内容太多会影响程序的执行效率。

3、C语言规定,标识符中的字母一般区分大、小写。

4、字符常量是用一对双引号括起来的一个字符。

5、若定义的函数没有参数,则函数名后的圆括号可以省略。

6、在赋值表达式中,赋值号左边的变量和右边的表达式之值的数据类型可以

不相同。

7、循环体中continue语句的作用是结束整个循环的执行。

8、函数的实参和形参可以是相同的名字。

9、对于“do{循环体}while(循环条件);”,这个循环结构有可能一次循环体的

内容都无法执行。

10、字符数组中的最后一个字符必须是'\0'。

三、写出下列程序段的输出结果(每小题5分,共20分)

1、有下列程序段,请写出运行结果。

main()

{intsum,j;

for(j=1;j<=10;j++)

{sum=5;

sum=sum+j;

}

printf(“sumis%d”,sum);

}

2、有下列程序段,请写出运行结果。

intf1(intx)

{staticintz=3,y=0;

y++;

z++;

return(x+y+z);

}

main()

{inta=1,k;

for(k=0;k<3;k++)printf(“%4d”,f1(a));

}

3、有下列程序段,请写出运行结果(注:

“_”代表空格)

华南农业大学2002《程序设计C语言》考卷

13

main()

{chara[]="This_is_a_C_program.";

char*p=a;

p=p+8;

printf(“%s”,p);

}

4、有下列程序段,请写出运行结果。

main()

{

inta=0,i;

for(i=0;i<5;i++)

{

switch(i)

{

case0:

case3:

a+=2;

case1:

case2:

a+=3;

default:

a+=5;

}

printf(“%5d”,a);

}

}

四、程序填空题(每空2分,共20分)

1、以下程序的功能是找出x、y、z三个数中的最小值。

main()

{intx=4,y=5,z=8;

intu,v;

u=x

___①__;

v=u

__②___;

printf(“%d”,v);

}

2、打印9×9乘法表。

输出格式要求为:

华南农业大学2002《程序设计C语言》考卷

14

1*1=1

2*1=12*2=4

3*1=33*2=63*3=9

………………………………………

__________main()

{intm,n;

for(m=1;m<=9;m++)

{

for(n=1;____③____;n++)

printf(“④”,m,n,m*n);

_____⑤______;

}

}

3、下面程序读入10个学生的成绩,统计及格学生的个数并计算平均分。

请填

空:

main()

{inti,count=0;

floata[10],sum=0,ave;

for(i=0;i<10;i++)

scanf(“%f”,⑥);

for(i=0;i<10;i++)

{

if_____⑦____count=count+1;

____⑧___;

}

ave=sum/10;

printf(“count=%d,ave=%f”,count,ave);

}

华南农业大学2002《程序设计C语言》考卷

15

4、下面程序的功能是求出数组a中各相邻两个元素的和,并将这些和存在数

组b中,按每行3个元素的形式输出。

例如:

a[0]+a[1]的值存入b[1],a[1]+a[2]的

值存入b[2]……,b[0]不用。

请填空。

main()

{inta[10],b[10],i;

for(i=0;i<10;i++)

scanf(“%d”,&a[i]);

for(i=1;i<10;i++)

_____⑨_____

for(i=1;i<10;i++)

{printf(“%3d”,b[i]);

if(___⑩_____==0)printf(“\n”);

}

}

五、编程题(20分)

1、有数列sum=1+2+3+4+5+6+……,编程实现:

1)编写一个函数,求sum的前n项和。

例如:

n=3时,sum=1+2+3=6。

2)在主函数中输入n,调用上面的函数并输出结果。

2、输入一串字符(长度小于80个字符),编程实现:

1)统计其中字母的个数并输出结果。

2)将其中的数字字符对应的整数值加起来,并输出结果。

如:

a45b8&*3,

则是4+5+8+3,结果为20。

要求画出实现此功能的流程图。

(传统流

程图与N-S流程图任选其一)

提示:

0的ASCII码为48,9的ASCII码为57。

华南农业大学2002《程序设计C语言》考卷

16

华南农业大学期末考试试卷(B卷)

2004学年第1学期考试科目:

程序设计

考试类型:

(闭卷)考试时间:

120分钟

班级学号姓名

题号一二三四五总分

得分

评阅人

一、单项选择题(每小题2分,共30分)

1D2A3D4C5A

6B7C8D9B10C

11D12A13B14A15C

二、判断题(对的打“√”,错的打“×”,每小题1分,共10分)

1×2×3√4×5×

6√7×8√9×10×

三、写出下列程序段的输出结果(每小题5分,共20分)

1、

sumis15

评分细则:

直接写15,给4分

2、

6810

评分细则:

写对一个数给1分,三个全对给5分。

华南农业大学2002《程序设计C语言》考卷

17

3、

a_C_program.

4、

1018263641

评分细则:

写对一个数给1分。

四、程序填空题(每空2分,共20分)

1、

①x:

y

②u:

z

2、

③n<=m

④%d*%d=%-3d

评分细则:

以下形式也给全对:

%d*%d=%nd(n为整数)

%d*%d=%d

⑤printf(“\n”)

3、

⑥&a[i]

⑦(a[i]>=60)评分细则:

无括号也给全对

⑧sum=sum+a[i]

4、

⑨b[i]=a[i]+a[i-1]

⑩i%3

五、编程题(20分)

华南农业大学2002《程序设计C语言》考卷

18

1、10分

main()

{

intsumall(inta);

intn,sum;

printf("Pleaseinputn:

");

scanf("%d",&n);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1