文档库 最新最全的文档下载
当前位置:文档库 › C程序设计期末考试参考样题

C程序设计期末考试参考样题

C程序设计期末考试参考样题
C程序设计期末考试参考样题

C程序设计复习要点

第一章概述

1.C程序的构成与结构特点

2.C程序上机调试过程与流程

第二章数据类型、运算量与表达式

1.数据类型的种类(基本数据类型和构造数据类型)

2.常量的数据类型及其表示(表示方法、存储字节数与表数范围)——整、实、字符、字符串和转义字

3.变量的命名、定义方法与赋初值

4.各种表达式及其运算规则——优先级、结合性、类型自动转换与强制转换

●算术运算符、表达式及其构造(注意“/”和“%”特殊性)

●自增、自减运算符及其简单表达式运算

●赋值运算符及其表达式(注意复合赋值运算符的运算方法)

●逗号运算符及其表达式

第三章流程控制

1.赋值语句的一般形式、赋值过程及赋值规则(注意左右数据类型的一致或兼容)

2.输入和输出函数的格式、功能及用法(只要求常用的格式控制符d, f, c, s),提醒注意:

●格式输出中域宽和小数位数的控制

●格式输入与输出中普通字符的原样输入和输出问题

●熟悉并区别以下函数:putchar()、printf()、puts();getchar()、scanf()、gets()

3.关系运算符及其表达式、逻辑运算符及其表达式和条件运算符及其表达式的运算规则(优先级、结合

性)

4.关系表达式与逻辑表达式的构造(根据已知条件写表达式)

5.if语句的三种形式:if …语句、if …else …语句、if 语句的嵌套

●if 语句的格式与用法:简单if、嵌套if、并列if

●逻辑关系与执行过程

●嵌套规则(重点掌握if …else …if …else …if …else)

6.switch语句的格式与用法

7.*熟练使用if和switch语句阅读和编写较为简单的选择结构程序

8.三种循环语句:while() …、do …while()、for()的格式、执行过程及其用法

●循环变量初始化、循环条件构造、循环体所要实现的任务和控制变量修改

注意循环期间与结束时循环控制变量的取值问题

9.结合例题理解和区别break与continue语句的作用及其用法

10.本章涉及的主要算法:累加(计数)、累乘、递推、穷举、判素数、求最大公约与最小公倍等

11.*熟练使用三种循环语句并结合以上算法阅读和编写较为简单的循环结构及其嵌套程序

第四章复杂数据类型

1.一维、二维数组的定义、初始化及其引用方法(数据输入、输出、存储与处理)

2.字符数组的定义、初始化及其引用(字符串输入、输出、存储与处理)

3.常用字符串处理函数:gets()、puts()、strlen()、strcmp()、strcpy()

4.数组涉及的主要算法:排序、极值、逆序、回文和字符串的连接、复制、求长度等

5.*熟练使用数组并结合以上算法阅读和编写较为简单的程序

6.指针的概念:指针、指针变量、指针运算(*、&、++、--、+、-)

7.变量、数组和字符串指针的定义、指向与引用(仅限于一维数组)

8.了解指针数组与二级指针的概念和定义

9.*能够阅读并理解使用指针进行数据处理的相关程序(极值、逆序、回文和字符串的连接、复制、求

长度等)

10.结构体与共用体的概念、定义与引用(仅限概念)

第五章结构化程序设计与应用

1.熟悉程序的三种基本结构:顺序、选择和循环

2.*通过其中部分例题掌握选择、循环语句的使用以及循环和数组涉及的主要算法

第六章函数与编译预处理

1.掌握函数的定义、声明和调用方法及参数传递方式

2.*结合相关例题掌握一般函数和递归函数的定义与使用

3.熟悉局部变量与全局变量的定义及作用范围,了解各种静态与动态变量的定义、作用范围与生存期

4.了解内部函数与外部函数的定义及调用规则

5.掌握宏定义与宏展开(重点掌握带参数宏的定义与展开)

6.了解文件包含的作用及其使用场合

第七章文件

1.了解文件的基本概念

2.熟悉文件打开、关闭及各种与文件读写有关函数的格式与用法

特别提醒:以上带*部分主要涉及程序阅读、程序填空和编写程序,其余部分主要以选择和概念填空题出现

3ae bc C语言程序设计参考题型

说明:★本题仅反映考试的题型,作为考前复习参考。

★这些题目基本涵盖了课程的基本知识点和重点内容,具有一定代表性。

★要通过这些典型题目,掌握复习要点中所列内容。所给题目不可死记硬背,而是通过题目掌握其涉及要点和重要算法。

一、单项选择题

1.C程序的基本构成单位是【】

A)文件B)命令C)函数D)语句

2.下列叙述中错误的是【】

A)C程序中main( )函数的位置可以任意

B)C程序可以由多个程序文件组成, 而一个程序文件又可以由一个或多个函数组成

C)每个C程序文件中都必须有一个main( )函数

D)C程序总是从main( )开始执行,也是由它结束

3.将C源程序转换为目标程序的过程称为【】

A)编辑B)编译C)连接D)运行

4.C语言中最基本的数据类型包括【】

A)整型、实型、逻辑型B)整型、实型、字符型

C)整型、逻辑型、字符型D)整型、实型、字符串型

5.以下不合法的用户标识符是【】

A)j2_KEY B)Double C)4d D)_8_

6.C源程序中不能表示的数制是【】

A)二进制B)八进制C)十进制D)十六进制

7.以下合法的字符常量的是【】

A)'\x13' B)'\081' C)'65' D)"\n "

8.以下选项中,能用作数据常量的是【】

A)o115 B)0118 C)1.5e1.5 D)115L

9.C语言中,要求运算对象必须是整型数据的运算符是【】

A)% B)/ C)\ D)&&

10.表示数学关系“x≥y≥z”的C语言表达式是【】

A)x>=y>=z B)x>=y || y>=z C)x>=y&&y>=z D)x≥y≥z

11.若变量均已正确定义并赋值,以下合法的C语言赋值语句是【】

A)x=y==5; B)x=n%2.5; C)x+n=j; D)x=5=4+1;

12.设有定义:int k=0; 以下选项的四个表达式中与其他三个表达式的值不相同的是【】

A)k++ B)k+=1 C)++k D)k+1

13.若有代数式:

以下错误的C语言表达式是【】

A)a/b/c*e*3 B)3*a*e/b/c C)3*a*e/b*c D)a*e/c/b*3

14.设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为【】

A)int B)float C)double D)不确定

15.若p和x已经正确定义,x已赋值,并且p=&x,则下列关系表达式之值为1的是【】

A)p==x B)*p==x C)&p==x D)*x==p

16.当用户要求输入的字符串中含有空格时,应使用的输入函数是【】

A)scanf() B)getchar() C)gets() D)getc()

17.下列能输出字符数组str中字符串的语句是【】

A)printf("%c",str[0]); B)printf("%s",str);

C)printf("%s",str[]); D)putchar(str);

18.有输入语句:

scanf("%d,%d",&a,&b);

为使变量a、b分别为5和3,从键盘输入数据的正确形式为【】A)5 3<回车> B)5,3<回车> C)a=5 b=3<回车> D)a=5,b=3<回车> 19.定义如下变量和数组:

int j;

int x[3][3]={1,2,3,4,5,6,7,8,9};

则下面语句的输出结果是【】for(j=2; j>=0; j--)

printf("%2d",x[j][2-j]);

A)1 5 9 B)1 4 7 C)7 5 3 D)3 6 9

20.执行下面程序后,a的值是【】

#define SQR(x) x*x

void main( )

{ int a=10,k=2,m=1;

a=SQR(k+m);

printf("%d\n",a);

}

A)10 B)5 C)2 D)1

21.简单if语句的基本形式:if(表达式)语句。其中“表达式”【】

A)必须是逻辑表达式B)必须是关系表达式

C)必须是逻辑表达式或关系表达式D)可以是任意合法的表达式

22.在嵌套使用if语句时,C语言规定else总是【】

A)和之前与其具有相同缩进位置的if配对B)和之前与其最近的if配对

C)和之前与其最近的且不带else的if配对D)和之前的第一个if配对

23.下列叙述中正确的是【】

A)break语句只能用于switch语句

B)在switch语句中必须使用default

C)break语句必须与switch语句中的case配对使用

D)在switch语句中,不一定使用break语句

24.有以下程序段:

x=-1;

do

x=x*x;

while(!x);

执行时,循环体执行的次数为【】A)0 B)1 C)2 D)不确定

25.以下不正确的if语句形式是【】

A)if(x>y&&x!=y); B)if(x==y) x+=y;

C)if(x!=y) scanf("%d",&x) else scanf("%d",&y); D)if(x

26.以下程序的输出结果是【】

void main( )

{ int x=2,y=-1,z=2;

if(x

if(y<0) z=0;

else z+=1;

printf("%d\n",z);

}

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

27.以下能正确计算1×2×3×…×10的程序段是【】

A)i=1,s=1; B) s=1;i=1;

do while(i<=10)

{s=s*i;i++;} s=s*(++i);

while(i<11);

C)for(i=1,s=0;i<=10;i++) D) for(i=1,s=1;;i++)

s=s*i; s=s*i;

28.若j为整型变量,则以下循环执行次数是【】

for(j=0;j==0;) printf("%d",j--);

A)无限次B)0次C)1次D)2次

29.若有说明:int a[10];则对a数组元素的正确引用是【】

A)a[3.5] B)a(8) C)a[6-5] D)a[10]

30.若有定义语句:double x[5]={1.0,2.0,3.0,4.0,5.0}, *p=x;则错误引用x 数组元素的是【】

A)*p B)x[5] C)*(p+1) D)*x

31.C中,一个char类型的数据在内存中占用的字节数是【】

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

32.设有程序段:

int k=5;

while (k<=0)

k--;

则下列描述中正确的是【】A)while循环执行5次B)循环是无限循环

C)循环语句一次也不执行D)循环体语句执行一次

33.下面程序段的运行结果是【】

char c[5]={ 'a', 'b', '\0', 'c', '\0' };

printf(“%s”, c);

A)'a''b' B)ab C)Abc D)"abc"

34.以下不正确的字符串赋值语句是【】

A)char *s; s="abcde"; B)char s[ ]="abcde";

C)char s[10]; s="abcde"; D)char *s="abcde";

35.设p1、p2是指向int型一维数组的指针变量,k为int型变量,以下错误的语句是【】

A)k=*p1+*p2; B)p2=k; C)p1=p2; D)k=p2-p1;

36.下面程序的输出结果是【】

void main( )

{ char s[]= "ABCD";

char *p;

for (p=s;p

printf(“%s\n”, p);

}

A)ABCD B) A C)D D) ABCD

BCD B C ABC

CD C B AB

D D A A

37.以下正确的函数定义形式是【】

A)double fun( int x,int y ) B)double fun( int x;int y )

C)double fun( int x;int y ); D)double fun( int x,y )

38.以下关于C函数的定义和调用描述正确的是【】

A)函数的定义可以嵌套,但函数的调用不可嵌套

B)函数的调用可以嵌套,但函数的定义不可嵌套

C)函数的定义和调用均可以嵌套

D)函数的定义和调用均不可嵌套

39.以下关于变量的存储类型和作用域说法错误的是【】

A)函数内定义的变量默认存储类型为auto,函数调用结束时释放其值

B)静态局部变量的生存期虽然被延长,但作用范围依然只限于所在函数内有效

C)寄存器变量主要用于使用频度较高的变量,其资源依然使用计算机内存

D)外部变量可以跨文件使用,但静态外部变量不允许跨文件使用

40.以下关于变量的作用域叙述不正确的是【】

A)在函数内部定义的变量是局部变量

B)函数中的形式参数是局部变量

C)局部变量的作用范围仅限于其所在函数或复合语句

D)全局变量的作用范围仅限于其所在的文件

41.以下关于C函数参数说法不正确的是【】

A)实参可以是常量、变量和表达式B)形参可以是常量、变量和表达式

C)实参和形参可以为任意数据类型D)实参与对应的形参类型一致

42.以下关于C函数返回值的叙述正确的是【】

A)被调函数中只有使用return语句才能返回主调函数

B)使用一个return语句可以返回多个函数值

C)函数返回值类型取决于return语句中的表达式类型

D)函数返回值类型取决于定义该函数时所指定的类型

43.以下数组定义中错误的是【】

A)int x[][3]={0}; B)int x[2][3]={{1,2},{3,4},{5,6}};

C)int x[][3]={{1,2,3},{4,5,6}};D)int x[2][3]={1,2,3,4,5,6};

44.若有定义语句:char s[10]="1234567\0\0"; 则strlen(s)的值是【】

A)7 B)8 C)9 D)10

45.给定以下程序段:

int n=10;

while (n>6)

{ n--;

printf(“%3d”,n);

}

以上程序段输出结果是【】A)10 9 8 B)9 8 7 C)10 9 8 7 D)9 8 7 6

46.若i,j已定义为int型,则以下程序段中内循环总的执行次数是【】

for (i=5; i>0; i--)

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

{……}

A)30 B)24 C)25 D)20

47.若已定义:float *p, m=3.14159; 则使p指向m正确的赋值语句是【】

A)p=m; B)p=&m; C)*p=m; D)*p=&m;

48.若已定义:char s[10]; 则下面表达式中不能作为s[1]地址的是【】

A)s++ B)s+1 C)&s[0]+1 D)&s[1]

49.已知:int a=3, b=5, t; 要将a和b中的数值进行交换,错误

..的程序段是【】A)a=a+b; b=a-b; a=a-b; B)t=a; a=b; b=t;

C)t=a; b=a; a=t; D)t=b; b=a; a=t;

50.关于C程序中的#include ,错误

..的描述是【】A)它是C语言的预编译命令B)在程序中该行尾部不需要分号

C)用于将math.h包含进来D)math.h是一个函数

51.下列C程序段的输出结果是【】

int a=0;

switch(a)

{ case 0: printf(“a=0”);

case 1: printf(“a=1”);

default: printf(“default”);

}

A)a=0 B)a=0default C)a=0a=1default D)default

52.已知:int a, x, y; 有语法错误

..的C语句是【】A)while(x) y++; B)while(x+y=0) a++;

C)while(x

53.对于do … while( )语句,错误

..的说法是【】A)用条件控制循环体的重复执行B)循环体至少要执行一次

C)循环体有可能一次也不执行D)循环体中可以包含若干条语句

54.已知:int a[5], *p=a; 利用p为数组元素a[4]赋值的正确C语句是【】

A)scanf(“%d”, p+3); B)scanf(“%d”, p+4);

C)scanf(“%d”, *(p+3)); D)scanf(“%d”, *(p+4));

55.对于C语句:char *a[2]={“abcd”, “ABCD”}; 叙述正确的是【】

A)a是指针变量B)a是指针数组C)a是数组指针 D)a是字符串

56.设有如下说明语句:

struct ex

{ int x; float y; char z; } example;

则下面叙述中不正确的是【】A)struct是结构体类型的关键字B)example是结构体类型名

C)x, y, z都是结构体成员名D)struct ex是结构体类型名

57.有以下程序

#include

struct ord

{ int x,y;} dt[2]={1,2,3,4};

void main()

{ struct ord *p=dt;

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

}

程序的运行结果是【】A)1,2 B)2,3 C)3,4 D)4,1

58.设有以下定义:

union data

{ int d1; char d2; }demo;

则下面叙述中错误的是【】A)变量demo与成员d2所占的内存字节数相同

B)变量demo中各成员的地址相同

C)变量demo和各成员的地址相同

D)若给demo.d1赋99后, 则demo.d2中的值也是99

59.设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为【】

A)EOF B)非0值C)0 D)NULL

60.读取二进制文件的函数调用形式为:fread(buffer,size,count,fp); 其中buffer代表的是【】

A)一个文件指针,指向待读取的文件

B)一个整型变量,代表待读取的数据的字节数

C)一个内存块的首地址,即读入数据存放的地址

D)一个内存块的字节数

61.C语言编译系统对宏命令的处理是【】进行的。

A)在程序运行时B)与源程序中的其他语句同时

C)在程序连接时D)在对源程序中的其它成分正式编译之前

62.若要用fopen函数打开一个新的二进制文件,既能读也能写,则打开方式是【】

A)rb+ B)wb+ C)ab+ D)ab

二、填空题

1.赋值表达式x*=y+5的另一种书写形式为__________。

2.已知a=10,b=20,c=3,则表达式!a>b || c的值为_________。

3.表达式(int)((double)(5/2)+2.5)的值是__________。

4.若j=3,则表达式(++j)+(j++)的值为__________。

5.若a的原值为4,则表达式“a*=a-=3”运算后,a的值是__________。

6.若a=5、b=3、c=1,则表达式“a>b>c”的值为__________。

7.若有定义:

int a=7;

float x=2.5,y=4.7;

则表达式x+a%3*(int)(x+y)%2/4的值为__________。

8.整数m既能被3整除又能被4整除的逻辑表达式为__________。

9.写出代数式0

10.写出判断字符变量c所存字符是否为字母的逻辑表达式为。

11.实现变量a和b交换的语句或语句序列是。

12.若整型变量a 和b 中的值分别为7 和9,要求按以下格式输出a和b的值:

a=7

b=9

请完成输出语句:printf(" ", a, b);

13.若有定义:double a[10][5]; 则数组a中行下标最大值为____,列下标最大值为____。

14.若有定义:int a[ ]={1,4,6,5,8,9}; 则*(a+5) 的值为__________。

15.设有如下定义int a[5][6],*p; 使p指向数组元素a[4][2]的语句为_________。

16.若有定义:int a[10],*p=a; 则元素a[5]的值用p表示的形式是__________。

17.若有定义:int *p[4]; 则标识符p表示_________。

18.凡是函数中未指定存储类型的局部变量,其默认的存储类型为__________。

19.函数有内部函数和外部函数,函数定义时用来说明该函数仅限本文件调用的关键字是________。

20.未加特别说明(说明为静态)的全局变量是外部变量,能被其它文件使用,而在引用它的文件中,需

要用关键字_________说明。

三、程序填空

1.下面程序的功能是:从键盘输入一个字符,若是大写字母,则转换为小写字母并输出,若为小写字母

则直接输出,请在_____处填上合适内容,使程序完整。

include

void main( )

{ char ch;

ch=getchar( );

if (_______________)

ch+=32;

printf(“%c”, ch);

}

2.下面程序的功能是:求1~100间的偶数和,请在_____处填上合适内容,使程序完整。

#include

void main( )

{ int num, sum=0;

for (num=2; num<=100; num=num+2)

________________;

printf("1-100间的偶数和是:%d\n", sum);

}

3.下面程序段是求n!的递归函数,请将函数补充完整。

double fac(int n)

{ double result;

i f (n= =1)

result=1;

e lse

result=____________;

}

4.以下程序的功能是:输入一整数n,判断是否为素数。

#include

void main( )

{ int i, n;

scanf(“%d”,&n);

for (i=2; __________; i++)

if (n%i==0)

break;

if (_________)

printf(“%d is a prime number.\n”, n);

else

printf(“%d is not a prime number.\n”, n);

}

5.如下程序实现字符串逆序,请在_____处填上合适内容,使程序完整。

#include

#include

void main()

{ char *p1, *p2, c, s[50];

s canf(“%s”, s);

p1=s;

p2=s+strlen(s)-1;

f or(; ; p1++, p2--)

{

;

}

p rintf(“The new string is %s\n”, s);

}

6.如下程序判断字符串是否回文,请在_____处填上合适内容,使程序完整。

#include

#include

void main()

{ char *p1, *p2, c, s[50];

g ets(s);

p1=s;

p2=_________;

f or(; p1

if( ) break;

i f( ) printf(“该字串不回文\n”);

e lse printf(“该字串回文\n”);

}

7.下列程序用来求任意两整数的最大公约数,请在_____处填上合适内容,使程序完整。

#include

void main( )

{ int temp, m, n, x;

printf("Enter two numbers:\n");

scanf("%d,%d", &m, &n);

if (m

for(x=n; ; x--)

if (m%x==0&&n%x==0) ___________;

printf("\n最大公约数为:%d\n",x);

}

8.下列程序用“起泡法”对输入的字符串降序排序,请在_____处填上合适内容,使程序完整。

#include

#include

void main( )

{ ______________;

char str[20];

printf("请输入字符串:\n");

scanf("%s", str);

___________;

printf("排序结果:\n");

puts(str );

}

void sort(char *s)

{ int i, j, n;

char c;

n=_________;

for(i=0; i

for(j=i; j

if(s[j]

}

四、阅读程序

1.include

void main( )

{ char ch;

int cnt1=0,cnt2=0;

while ((ch=getchar( ))!='\n')

if (ch>='a'&&ch<='z') cnt1++;

else cnt2++;

printf("COUNT=%d\n",cnt1);

}

若输入“This is a C program.”,运行结果:_____________________ 2.#include

void main( )

{ int i, j, temp;

int a[]={0,1,2,3,4,5,6,7,8,9};

for(i=0, j=9; i

{temp=a[i]; a[i]=a[j]; a[j]=temp;}

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

printf("%2d", a[j]);

}

运行结果:____________________________

3.#include

#include

void main( )

{ char str1[]="good",str2[]="morning";

int i, j;

for(i=strlen(str1),j=0;str2[j]!='\0'; i++, j++)

str1[i]=str2[j];

str1[i]='\0';

printf("string1=%s",str1);

}

运行结果:___________________________

4.#include

void main( )

{ int i, j, pos;

float val, a[10];

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

scanf("%f", &a[i]);

val=a[0];

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

if (a[j]>val)

{val=a[j]; pos=j;}

printf("Max=%f,position:%d", val, pos);

}

本程序的功能是:_______________________________

5.#include

float average(int x[], int n)

{ int i;

float sum=0;

for(i=0;i

sum+=x[i];

return(sum/n);

}

void main( )

{ int a[5]={2,4,6,8,10};

float rst;

rst=average(a,5);

printf("result=%f\n",rst);

}

运行结果:____________________________

6.给定如下程序:

#include

void main( )

{ char grade;

scanf(“%c”, &grade);

switch (grade)

{ case 'A': printf("85—100\n"); break;

case 'B': printf("70—84\n"); break;

case 'C': printf("60—69\n"); break;

case 'D': printf("<60\n"); break;

default: printf("error\n");

}

}

当程序运行时,从键盘输入“b”,输出的结果是:___________。

7.给定如下程序:

#include

void main( )

{ int a[5]={2,5,3,7,6}, i, j, t;

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

for (j=i+1; j<5; j++)

if (a[i]>a[j])

{ t=a[i]; a[i]=a[j]; a[j]=t; }

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

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

}

该程序的功能是:_________________;输出的结果为:___________________。

8.给定如下程序:

#include

void fun( )

{

auto int b=0;

static int c=4;

b++; c++;

priintf("b=%d c=%d\n", b, c);

}

void main( )

{

int i;

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

fun( );

}

运行结果是____________。

9.给定如下程序:

#include

#include

void main()

{ char *p1, *p2, c, s[50];

g ets(s);

p1=s; p2=s+strlen(s)-1;

f or(; p1

{

c=*p1; *p1=*p2; *p2=c;

}

p rintf(“The new string is %s\n”, s);

}

此程序的功能是:____________。

10.给定如下程序:

#include

void main()

{ int fun(char *p);

c har str[80];

g ets(str);

printf(“LEN=%d\n”, fun(str));

}

int fun(char *p)

{ int n=0;

while(*p++)

n++;

return(n);

}

此程序的功能是:_________________

五、按要求编程

1.编程计算1!+2!+3!+…+20!。

2.统计由键盘输入的任一字符串中字母、数字和空格的个数。

3.编写程序找出1—100之间的素数,并统计素数的个数。

4.从键盘输入10个数,找出最大值与最小值,并计算它们的平均值。

5.将键盘输入的任意字符串进行逆序并输出。

6.判断由键盘输入的字符串是否为回文。

7.找出所有三位数中的水仙花数(各位数字的立方和恰好是本数)。

8.已知Fibonacci数列的前两项为1,其后各项为前两项之和。用递归函数输出此数列的前20项,每行

输出10个数。

9.写一个函数求两个整数的最小公倍数,函数原型为:int gb(int m, int n),在主函数中从键盘输入两个整

数,然后调用gb()函数,并输出结果。

10.打印杨辉三角形(10行)。要求:使用二维数组和循环语句实现。

1

1 1

1 2 1

1 3 3 1

……

网络编程试卷(含答案)

大学期末考试试卷(A卷) 20 学年第1学期考试科目:网络编程 考试类型:(闭卷)考试时间:120 分钟 学号姓名年级专业 一.选择题(30分,每题3分) 1.以下哪个是TCP/IP模型?(B) A.应用层,表示层,网络层,物理层; B.应用层,传输层,网络层,链路层C.应用层,传输层,链路层,物理层 D.应用层,传输层,网络层,物理层 2.P2P的设计架构不包含以下哪一种?( C) A.集中式架构 B.完全分布式架构 C.点对点架构 D.混合型架构 3.HTTP请求方法不包括如下哪一种( B) A.Post B.Update C.Get D.Head 4.FTP的作用不包括(C) A.文件共享; B. 通过应用程序直接或间接使用远程主机; C.提供一致性的协议,避免用户在不同主机上有不相同的操作方式; D. 提供可靠及有效率的数据传输; 5.SMTP与POP3的端口分别是:( B) A.25,75 B. 25,110 C.21,75 D. 21,110 6.IP地址是192.168.100.2,子网掩码是255.255.255.0,则其网段的广播地址是(C)A.192.168.100.1 B.192.168.100.0 C.192.168.100.255 D.255.255.255.255 7.TCP的特点不包括如下哪一点(C) A.面向连接 B.全双工数据传送 C.传输速度快 D.面向字节流 8.关于线程哪一点是对的。(D)

A.任何一个C#程序都有一个默认的线程,该线程是后台线程; B. 每个进程都有一个线程池。线程池默认大小有35个线程; C.线程池中的线程都是前台线程; D. C#中常用的线程同步的语句是lock语句; 9.在Internet中用一个三元组可以在全局中唯一标识一个应用层进程,这不包括下列哪一种( A ) A.网络层协议 B.IP地址 C.端口号 D.传输层协议 10.TCP/IP协议簇中,哪一种是网络层协议( B ) A.TCP B.ARP C.SMTP D.TFTP 二.判断题(15分,每题1分,用T表示对,F表示错) 1.端口的分配地址是1-65535,全局分配是1-1023,本地分配是1024-65535 (F) 2.线程池中既有后台线程也有前台线程,某进程的所有前台线程都终止了,后台进程也自 然终止。(F) 3.在SMTP中,电子邮件由信封、首部和正文3部分组成。(T) 4.数字签名是私钥加密,公钥解密。(T) 5.ESMTP与SMTP的区别是发送邮件时要求用户身份验证。(T) 6.HTTP的流水线方式是指客户在收到前一个响应后才能发出下一个请求。(F) 7.HTTP(Hypertext Transfer Protocol),超文本传输协议,目前的版本是1.0 。(F) 8.NA T功能是只能用硬件来实现(F) 9.IP地址有A,B,C,D,E五类(F) 10.UDP不需要连接,速度比TCP快;(T) 11.UDP传输的数据无消息边界;(F) 12.Socket类比位于底层TcpClient类提供了更高层次的抽象,它们封装TCP套接字的创建, 不需要处理连接的细节。(F)

C语言程序设计模拟试题1(附答案)

《C语言程序设计》模拟试卷一 一、单项选择题(每题2分,共30分) 1、下列有关C语言的叙述中错误的是()。 A) C语句必须以分号结束 B) 任何一个C程序中有且只有一个主函数 C) 复合语句在语法上可被看作一条语句 D) C程序中对数据的任何操作都可由运算符实现 2、以下不能定义为用户标识符的是()。 A) MAIN B) _HJ C) 2ong D) LINE1 3、下列符号中用来表示C语言中的回车换行的是()。 A) \r B) \n C) \b D) \t 4、如有如下定义:int a=1,则语句printf(“%d,%d”, a, ++a);的运行结果为()。 A) 1, 1 B) 1, 2 C) 2, 2 D) 2, 1 5、已知ch为字符型变量,下面表达式中正确的是()。 A) ch=’\xff ’B) ch=’\ff ’C) ch=’ ff ’D) ch=” ff ” 6、以下能正确定义一维数组的是()。 A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”; C) char a[ ]=”012345”; D) char a[5]={0,1,2,3,4,5}; 7、以下语句中能正确定义变量并赋初值的是()。 A) char c=65; B) float f=f+1.1; C) double x=12.3e3.6; D) int m=n=2.0; 8、在执行下列程序时输入:1357924,则程序的运行结果为()。 main( ) { int x, y; scanf(“%2d%2d”,&x,&y); printf(“%2d”,x*y); } A) 13 B) 1357 C) 74 D) 741 9、执行下列程序段后输出的结果是()。 x = 9; while (x > 7)

C语言期末考试题库(第一章 c语言基

一、单项选择 1.算术运算符,赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为(). A、关系运算,赋值运算,算术运算 B、算术运算,关系运算,赋值运算 C、算术运算,赋值运算,关系运算 D、关系运算,算术运算,赋值运算 答案:B 2.下述正确的C语言常量是:(). A、E2 B、3e-3 C、1.5E2.5 D、5.0E 答案:B 3.使用共用体变量,不可以(). A、进行动态管理 B、节省存储空间 C、同时访问所有成员 D、简化程序设计 答案:C 4.为表示关系x>=y>=z,应使用C语言表达式为:()

A、(x>=y)&(y>=z) B、(x>=y>=z) C、(x>=y)&&(y>=z) D、(x>=y)AND(y>=z) 答案:C 5.以下程序的输出结果是(). main() {char str[]="ABCD",*p=str;printf("%s\n",p);} A、68 B、ABCD C、不确定的值 D、字符D的地址 答案:B 6.char a[10];不能将字符串"abc"存储在数组中的是(). A、a="abc"; B、a[0]=0;strcat(a,"abc"); C、int i;for(i=0;i<3;i++)a[i]=i+97;a[i]=0; D、strcpy(a,"abc"); 答案:A 7.fscanf函数的正确调用形式是(). A、fscanf(文件指针,格式字符串,输入表列);

B、fscanf(格式字符串,文件指针,输出表列); C、fscanf(fp,格式字符串,输出表列); D、fscanf(格式字符串,输出表列,fp); 答案:A 8.下列数组说明中正确的是(). A、int array[][]={1,2,3,4,5,6,7,8,9,10}; B、int array[][][5]={1,2,3,4,5,6,7,8,9,10}; C、int array[][4]={1,2,3,4,5,6,7,8,9,10}; D、int array[3][]={1,2,3,4,5,6,7,8,9,10}; 答案:C 9.以下选项中,与k=n++完全等价的表达式是(). A、n=n+1,k=n B、k+=n+1 C、k=++n D、k=n,n=n+1 答案:D 10.针对下列程序段回答问题(). for(t=1;t<=100;t++) { scanf("%d",&x); if(x<0)continue;

网络程序设计—ASP考试试题(A卷)答案[1]

《网络程序设计—ASP》考试试题1答案 一、单项选择题(本大题共15小题.每小题1分。共15分) 1.A 2. D 3. B 4. B 5. B 6. B 7. A 8.C 9.B 10.B 11.A 12.D 13.B 14.A 15.C 二、判断题(本大题10小题,每小题1.5分,共15分)。 16.ABCD 17.AD 18.AB 19. ABCD 20.CD 21. ABCD 22. BD 23. CD 24. ABCD 25. AB 三、程序填空题(本大题10小题,每空1.5分,共15分) 26. “11”、2、“11”、“11”27. ac 28. 3 29.2 30. 空(Empty)31. 空(Empty)32. "<p>" 33. &lt;p&gt; 34. 与intAge的值有关35.全部 四、名词解释(本大题5小题,每小题2分,共10分) 36.静态网页——所谓静态网页,就是说该网页文件里没有程序代码,只有HTML标记,这种网页的扩展名一般是.htm或.html。静态网页一经制成,内容就不会再变化,不管何时何人访问,显示的都是同样的内容,如果要修改内容,就必须修改源文件,然后重新上传到服务器上。 37.相对路径——所谓相对路径,就是以“/”或“\”开头的路径。 38.子程序——就是只执行程序而不返回值的程序模块。 39.会话——是指用户访问网站的过程;状态,就是指会话过程中的一些变量、设置等信息。 40.数据库——所谓数据库,就是按照一定数据模型组织、存储在一起的,能为多个用户共享的,与应用程序相对独立的、相互关联的数据集合。 五、简答题(本大题4小题,每小题4分,共20分) 41.什么是应用程序?为什么要建立应用程序? 答案:简单的说,添加了虚拟目录的文件夹就可以称为应用程序。建立应用程序后,多个网站之间就可以独立了,一些公共变量就不会混淆。 42.如果同时设置了背景颜色和背景图片,会出现什么情况? 答案:如果同时设置了背景颜色和背景图片,将只有背景图片起作用。 43.请简述四类运算符的优先级顺序。 答案:算术运算符>连接运算符>比较运算符>逻辑运算符。 44.某程序可以显示记录,但不能更新记录,请简述可能的原因。 答案:可能是没有对数据库文件设置相应的访问权限。(比如,去掉只读;对于Windows 2000、Windows XP 系统,如果安装时采用了NTFS文件系统,还要设置“Internet来宾帐户”可以完全控制该数据库文件。) 六、编程题(本大题2小题,第1小题15分,第二小题10分,共25分) 45.请编写程序段,随机产生一个0到9的整数。如果是偶数,则在页面上输出“生成的是偶数”,否则输出“生成的是奇数”。 程序清单: <% Dim s s=Int(10 * Rnd()) If (s Mod 2)=0 Then Response.Write "生成的是偶数" Else Response.Write "生成的是奇数"

C语言程序设计期末考试试题(含答案)

C语言程序设计 期末考试试题及其答案 一、单项选择题(本大题共20题,每题2 分,共40分) 1、以下不是C语言的特点的是( ) A、C语言简洁、紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件进行操作 D、C语言移植性好 2、以下不正确的C语言标识符是( ) A、ABC B、abc C、a_bc D、ab.c 3、一个C语言程序是由( ) A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( ) A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( ) A、int B、float C、double D、不确定 6、在C语言中,char型数据在内存中的存储形式是( ) A、补码 B、反码 C、源码 D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是( ) 。 #include main(){ int x; float y; scanf("%3d%f",&x,&y); } A、12345 B、123 C、45 D、345 8、若有以下定义int a,b; float x,则正确的赋值语句是( ) A、a=1,b=2 B、b++; C、a=b=5 D、b=int(x); 9、以下程序的执行结果是( )

#include { int i=10,j=10; printf("%d,%d\n",++i,j--); } A、11,10 B、9,10 C、11,9 D、10,9 10、巳知字母A的ASCII码是65,以下程序的执行结果是( ) #include main() { char c1='A',c2='Y'; printf("%d,%d\n",c1,c2); A、A,Y B、65,65 C、65,90 D、65,89 11、下列运算符中优先级最高的是( ) A、< B、十 C、% D、!= 12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。 A、’x’&&’y’ B、x<=y C、x||y+z&&y-z D、!((x<y)&&!z ||1) 13、判断char型变量cl是否为小写字母的正确表达式为( ) A、’a’<=c1<=f’z’ B、(c1>=a)&&(c1<=z) C、(‘a’>=c1) (‘z’<=c1) D、(c1>=’a’)&&(c1<=’z’) 14、字符串"a"在内存中占据的字节个数为( ) A、0 B、 1 C、 2 D、 3 15、下面有关for循环的正确描述是( ) A、for循环只能用于循环次数已经确定的情况 B、for循环是先执行循环体语句,后判定表达式 C、在for循环中,不能用break语句跳出循环体 D、for循环体语句中,可以包含多条语句,但要用花括号括起来 16、下面程序的运行结果是( ) #include main() {int num=0; while(num<=2) {num++; printf(“%d ,num); } } A、 1 B、 1 2 C、 1 2 3

C语言期末考试试题

C语言试题1 一填空题(15分) 1.设x的值为15,n的值为2,则表达式x%=(n+=3)运算后,x的值为()。 2.设int a=7,b=9,t;执行完表达式t=(a>b)?a:b后,t的值是()。 3.下面程序段的输出结果是()。 int a=1234; a=a&0377; printf(“%d %o\n”,a,a); 4.a数组定义如下,按照内存排列顺序,a数组中的所有元素是()。 char a[3]; 5.设有以下宏定义,则执行赋值语句a=PP*20;(a为int型变量)后,a的值是()。 #define PR 80 #define PP PR+403 6.在C程序中,可以通过三种运算方式为指针变量赋地址值,它们是:()、()和()。7.在C文件中,数据存在的两种代码形式是()和()。 8.C语言中调用()函数打开文件,调用()函数关闭文件,调用()函数可实现文件的随机读写。 9.若有int a[3]={10,12,30};则a+1是()的地址,*(a+2)=()。 二判断对错(5分,对的划“√”,错的划“×” 1.在Turbo C中,整型数据在内存中占2个字节。() 2.表达式1/4+2.75的值是3。() 3.结构体类型只有一种。() 4.函数若无返回值,则它一定无形参。() 5.C语言只能处理文本文件和二进制文件。() 三选择题(20分) 1.设int a=12; 表达式a+=a-=a*=a的值是()。 A 12 B 144 C 0 D 132 2.以下程序的输出结果是()。 main( ) { int a=011; printf(“%d\n”,++a); } A 12 B 11 C 10 D 9 3.以下程序的输出结果是()。 #define ADD(x) (x)+(x) main() { int a=4,b=6,c=7,d=ADD(a+b)*c; printf(“d=%d”,d); } A d=70 B d=140 C d=280 D d=80 4.下面的选项中正确的赋值语句是(char a[5],*p=a;)()。 A p=“abcd”; B a=“abcd”; C *p=“abcd”; D *a=“abcd”; 5.若k为整形,则while循环执行()次。 k=2; while(k==0) printf(“%d”,k); k--; printf(“\n”); A 10 B 9 C 0 D 1

网络程序设计复习题(带答案)

网络程序设计复习题 1、为了实现网络的互联,互联网技术必须保证使用不同硬件结构的计算机能够进行通信 适用于多种不同的操作系统、能够使用多种分组交换网络硬件 2、因特网体系结构委员会的英文简称是ICCB 3、协议的实现要落实到一个个具体的硬件模块和软件模块上,在网络中将这些实现特定功能的模块称为实体 4、连接控制、流控制、报文分段等属于传输层功能 5、IP数据报协议标识字段指明了IP数据报封装的协议,当标识字段为 6 时 表示封装的是TCP协议 6、ICMP报文不包括地址解析报文 7、套接字是指IP地址和端口号的组合。 8、SOCKET编程中的全相关是指源端口号、目的端口号、源IP、目的IP、协议 9、IP分组的中的TTL值描述,每经过一个路由器,它的值会减1是正确的 10、TELNET通过TCP/IP协议模块在客户机和远程登录服务器之间建立一个TCP 11、以下提供可靠服务不是UDP协议的特性 12、虚拟局域网通常采用交换机端口号、MAC地址、网络层地址或IP广播组地 址定义 13、办公自动化服务不是网络操作系统提供的服务 14、分析IP数据报所携带的TCP内容不是IP路由器应具备的主要功能 15、java当中网络编程的接口是在https://www.wendangku.net/doc/2d4896988.html,包当中提供的。 16、会话的建立、维护和交互过程中的同步等属于会话层功能 17、在网络层,IP模块根据IP数据报首部中的协议值决定将数据报中的数据交 给哪一个模块去处理,当协议值为17,应将数据交给UDP模块处理 18、ARP请求帧在物理网络中是以广播方式发送的 19、ICMP在重组定时器超时情况下会产生数据报超时报告。 20、回应请求与应答报文的目的是对网络进行诊断和测试,使用它可以了解 设备的可达性 21、网络的功能主要由各层的协议来完成,互联网技术经过多年的发展形成了现在的TCP/IP协议。 22、为了保证网络的各个功能的相对独立性,以及便于实现和维护,通常将协议划分为多个子协议,并且让这些协议保持一种层次结构,子协议的集合通常称为协议簇。 23、IP协议是TCP/IP协议簇中的核心协议,提供数据传输的最基本服务,是实现网络互联的基本协议。 24、ICMP协议将请求转变为ICMP报文,然后将报文封装在IP协议中进行发送。包含ICMP报文的IP数据报首部的协议字段为1。

C语言程序设计模拟试题A附答案

《C语言程序设计》模拟试卷A 一、单项选择题(每题2分,共20分) 1、下列有关C语言的叙述中错误的就是(D)。 A) C语句必须以分号结束 B) 任何一个C程序中有且只有一个主函数 C) 复合语句在语法上可被瞧作一条语句 D) C程序中对数据的任何操作都可由运算符实现 2、以下不能定义为用户标识符的就是(C)。 A) MAIN B) _HJ C) 2ong D) LINE1 3、以下能正确定义一维数组的就是(C)。 A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”; C) char a[ ]=”012345”;D) char a[5]={0,1,2,3,4,5}; 4、执行下列程序段后输出的结果就是(C)。 x = 9; while (x > 7) { printf(“*”); x- -; } A) **** B) *** C) ** D) * 5、设char str1[10] = “ABCDE”, str2[10] = “xyz”; 则执行语句 printf(“%d”, strlen(strcpy(str1, str2))); 后的输出结果就是(D)。 解析: strcpy(str1,str2); 后,str1[] 里就是"XYZ", Z 后面有字符串结束符 strcpy(str1,str2); 执行后,函数返回的就是str1, 因为str1[] 里就是新值"XYZ", 而 strlen(strcpy(str1,str2)) 就就是strlen(str1的新值),所以得3。 strlen 统计到字符串结束符以前,即,不计入字符串结束符。 A) 9 B) 8 C) 5 D) 3 6、若用数组名作为函数调用的实参,则传递给形参的就是(A)。

04737c程序设计试题及答案20200_图文

全国2009年10月高等教育自学考试 C++程序设计试题 课程代码:04737 一、单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.对C++中主函数描述正确的是( ) A.名称为main,可为多个 B.名称不限,可为多个 C.名称为main,必须有且只能有一个 D.名称不限,必须有且只能有一个 2.调用声明为int result(int a,int b)的函数时,正确的方法是( ) A.result(1,2) B.result(1) C.result(0.1,0.3) D.result(1,2,3) 3.用于包含C++标准库iostream的预处理指令是( ) A.#define B.#include C.#define ‘iostream’ D.#include‘iostream’ 4.无类型标识符是指( ) A.void B.bool C.short D.long 5.从本质上看,引用是被引用变量的( ) A.拷贝 B.别名 C.复制 D.克隆 6.下面关于数组的初始化正确的是( ) A.char str[ ]={'a','b','c'}; B.char str[2]={'a','b','c'}; C.char str[1][2]={{'a','b'},{'e','d'}}; D.char str[ ][ ]={'a','b','c'}; 7.C++类中定义的成员默认访问属性为( ) A.public B.private C.protected D.friend 1文档来源为:从网络收集整理.word版本可编辑.

C语言期末考试题(含答案)

《C 语言程序设计》期末试卷 一、单项选择题(10x2’=20’) 1、以下叙述正确的是() A )C 语言的源程序不必通过编译就可以直接运行。 B ) C 语言中的每条可执行语句最终都将被转换成二进制的机器指令。 C )C 语言源程序经编译形成的二进制代码可以直接运行。 D )C 语言中的函数不可以单独进行编译。 2、一个C 语言的源程序中() A )必须有一个主函数 B )可能有多个主函数 C )必须有除主函数外其它函数 D )可以没有主函数 3、以下不能定义为用户标识符的是() A )scanf B )Void C )_3com D )int 4、若以下选项中的变量已正确定义,则正确的赋值语句是() A )x1=26.8%3; B )1+2=x2; C )x3=0x12; D )x4=1+2=3; 5、设有定义:floata=2,b=4,h=3;以下C 语言表达式中与代数式h b a *)(2 1 的计算结果不.相符的是() A )(a+b)*h/2 B )(1/2)*(a+b)*h C )(a+b)*h*1/2 D )h/2*(a+b) 6、C 语言中用于结构化程序设计的3种基本结构是() A )顺序结构、选择结构、循环结构 B )if 、switch 、break C )for 、while 、do-while D )if 、for 、continue 7.在while (!x )语句中的!x 与下面条件表达式等价的是() A)x!=0B)x==1C)x!=1D)x==0

8、有以下程序: #include voidmain(){ inti=1,j=1,k=2; if((j++||k++)&&i++) printf(“%d,%d,%d\n”,i,j,k);} 执行后的输出结果是() A)1,1,2 B)2,2,1 C)2,2,2 D)2,2,3 9、有以下程序: #include voidmain(){ inti,s=0; for(i=1;i<10;i+=2) s+=i+1; printf(“%d\n”,s);} 程序执行后的输出结果是() A)自然数1~9的累加和B)自然数1~10的累加和 C)自然数1~9中奇数之和D)自然数1~10中偶数之和 10、有以下函数定义: voidfun(intn,doublex){……} 若以下选项中的变量都已经正确定义并赋值,则对函数fun的正确调用语句是()A)fun(inty,doublem); B)k=fun(10,12.5); C)fun(x,n);D)voidfun(n,x); 二、填空题(10x2’=20’) 11、C语言描述“x和y都大于或等于z”的表达式是:。 12、函数定义时涉及的基本要素是:、、。

《网络程序设计》期末考试试题.doc

学习中心_________ 姓名_____________ 学号 西安电子科技大学网络与继续教育学院 2019学年上学期 《网络程序设计》期末考试试题 (综合大作业) 考试说明: 1、大作业试题于2019年4月25日公布,2019年4月26日至2019年5月12日在线上传大作业答卷(最多上传10张图片); 2、考试必须独立完成,如发现抄袭、雷同均按零分计; 3、答案须用《西安电子科技大学网络与继续教育学院综合大作业答题纸》手写完成,要求字迹工整、卷面干净; 4、文字描述部分需手写,系统界面以图片形式保存,且总页面不超过10页,上传考试系统。 一、(30分/题,共1个)以access数据库作为后台数据库,完成某学校教材信息的录入、修改和查询。要求所有教材信息必须存储在数据库中,最终提交作业报告,内容包括题目内容,题目总体分析,实现方案,数据库设计,功能模块设计,网页结构设计,运行结果,主要源程序。 总体分析 根据题目要求选择了使用桌面应用程序实现,而没有选择web实现。所以选择java作为开发语言,使用java提供的swing组件实现交互界面。题目要求使用access做为后台数据库,java提供了JDBC-ODBC驱动连接access数据库。

实现方案 使用access数据库(JDBC-ODBC连接) 使用java语言编程(JDK1.6) 使用swing实现交互界面 使用Netbeans7.0 IDE 数据库设计 表结构: 表:book 字段类型说明Id 长整型图书编号 book_name 字符串书名 author 字符串作者 publisher 字符串出版社 publish_date 时间出版时间 功能模块设计 程序中实现了图书信息的查询、添加、修改、删除。 1、查询模块 可以显示所有的图书信息, 可以按条件查询,可分别通过书名、作者、出版社进行查询相关图书信息。 2、添加模块 添加新的图书信息到数据库中 3、修改模块 对数据库中存储的图书信息进行修改。 4、删除模块 删除数据库中的图书信息。 详细设计 代码结构:

C语言程序设计试题集及其答案

第一章基础知识 一.填空 1. 每个C程序都必须有且仅有一个________ 函数。 2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。 3. 软件是程序,以及______、使用和维护所需要的所有文档。 4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6. C语言是由________组成的。 7. C语言的函数可分为主函数main、标准库函数和_________。 8. 一个函数是由两部分组成的,即:________和函数体。 9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。 10. 程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作 的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对 象,也可以用标号和符号来代替地址、常量和变量。 13. 在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14. C程序的执行均是由执行_________开始。 15. 函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C 语句 组成的执行部分。 16. C语言程序中一条简单语句是以________字符作为结束符的。 17. C语言是结构化、________的程序设计语言。 18. 由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______程序”,将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。 19. 用高级语言编写的程序需翻译成计算机硬件所能识别的机器语言程序方可执行。所以 说,用高级语言进行程序设计,其编程效率高,方便易用,但_______没有低级语言高。

2019年C语言期末考试题与答案

1、给定n个数据, 求最小值出现的位置(如果最小值出现多次,求出第一次出现的位置即可)。 最大值第三行i<=n五行k+1 2、编写程序求无理数e的值并输出。计算公式为: e=1+1/1!+1/2!+1/3!+......+1/n! 当1/n!<0.000001时e=2.718282。 3、求一批数中最大值和最小值的积。 4、某一正数的值保留2位小数,对第三位进行四舍 五入。 5、从键盘上输入任意实数x,求出其所对应的函数值。 z=(x-4)的二次幂(x>4) z=x的八次幂(x>-4) z=z=4/(x*(x+1))(x>-10) z=|x|+20(其他)6、求出N×M整型数组的最大元素及其所在的行坐标 及列坐标(如果最大元素不唯一,选择位置在最前面 的一个)。 例如:输入的数组为: 1 2 3 4 1 5 6 12 18 9 10 11 2 求出的最大数为18,行坐标为2,列坐标为1。 7、求一个n位自然数的各位数字的积。(n 是小于10的自然数) 8、计算n门课程的平均值,计算结果作为函数值返回。例如:若有5门课程的成绩是:92,76,69,58,88,则函数的值为76.599998。 9、求一批数中小于平均值的数的个数。

10、编写函数判断一个整数m 的各位数字之和能否被7整除, 可以被7整除则返回1,否则返回0。调用该函数找出 100~200之间满足条件的所有数。 11、请编一个函数void fun(int tt[M][N],int pp[N]), tt 指向一个M 行N 列的二维数组,求出二维数组每列 中最大元素,并依次放入pp 所指一维数组中。二维 数组中的数已在主函数中赋予。 12、编写函数fun 用比较法对主程序中用户输入的具有10 个数据的数组a 按由大到小排序,并在主程序中输出 排序结果。 13、编写main 程序调用函数fact 求解从m 个元素选n 个元 素的组合数的个数。计算公式是:组合数=m!/(n!.(m-n)!)。 要求:m 不能小于n ,否则应有容错处理。 说明:函数fact(x)的功能是求x!。 14、找出一批正整数中的最大的偶数。 15、实现两个整数的交换。 例如:给a 和b 分别输入:60和65,输入为: a=65 b=60 16、将字符串中的小写字母转换为对应的大写字母, 其它字符不变。 17、求一个四位数的各位数字的立方和。 18、求一组数中大于平均值的数的个数。 例如:给定的一组数为1,3,6,9,4,23,35,67,12,88时,函 数值为3。 19、对任意输入的 x ,用下式计算并输出 y 的值。 5 x<10 y= 0 x=10 -5 x>10

C语言程序设计期末考试复习题及复习资料

C语言考试期末考试复习题及答案 一、选择题 (1) 一个C语言程序总是从(C )开始执行 A) 书写顺序的第一个函数 B) 书写顺序的第一条执行语句 C) 主函数main() D) 不确定 (2) 设int x=3,y=4,z=5,则下列表达式中的值为0的是 ( D ) A) ‘x’&&’y’B) x||y+z&&y-z C) x<=y D) !((x

C语言程序设计模拟试题2(附答案)

《C语言程序设计》模拟试卷二 一、填空题。(每空2分,共30分) 1.设有变量说明语句 int x=1,y=2; 则执行下述printf语句的输出结果是___1.000000___ _____。 printf("%f\n",1.0+x/y); 2.执行下述程序 #include main() { int x,y; scanf("%2d%*2s%1d",&x,&y); printf("%d\n",x+y); } 若从键盘输入 12345671 则程序的输出结果是__17______。 3.以下程序的功能是:从键盘上输入若干名学生的成绩(百分制,可带小数,以输入负数或0为结束标志),统计并输出最高成绩和最低成绩。请填空。 #include main() {

float x,amax,amin; scanf("%f",&x); amax=x; amin=x; while ( X>0&&X<=100 ) { if (x>amax) amax=x; else if (x

_k++ _________; d=1.0/(k*(k+1)); } while (k<=n); printf("%f\n",s); 5.执行下述程序的输出结果是_-3 -4 0 4 4 3___ ____。 #inclued main() { int a[6],i; for (i=0;i<6;i++) { a[i]=9*(i-2+4*(i>3))%5; printf("%3d",a[i]); } printf("\n"); } 6.执行下述程序时的输出结果是____6_____ ________。 #include main() { int a[]={2,4,6,},*ptr=&a[0],x=8,y,z; for (y=0;y<3;y++) z=(*(ptr+y)

C语言程序设计试题集及答案

单项选择题 (002) 阅读程序题 (018) 程序填空题 (039) 编写程序题 (070) 一、单项选择题 导读:单项选择题要求从给出的四个备选答案中,选出一个最符合题意的答案。本类习题主要检查对C语言基本概念的掌握情况,读者可根据学习进度选做部分习题。在完成习题的过程中,不但要选出正确的答案,而且要清楚不正确的选项错在何处,以加深对概念的理解。对于掌握不准的问题,应该通过上机实验来检验。 【1.1】以下不正确的C语言标识符是____。 A) int B) a_1_2 C) ab1exe D) _x 【1.2】以下是正确的C语言标识符是____。 A) #define B) _123C) %d D) \n

【1.3】下列四组字符串中都可以用作C语言程序标识符的一组是。 ??? A) print B) i\am C) Pxq D) str_l ??? _3d one_half My->book Cpp ??? oodbs tart$it line# pow ??? aBc 3pai His.age while 【1.4】下面各选项组中,均是C语言关键字的组是。 A) auto,enum,include B) switch,typedef,continue C) signed,union,scanf D) if,struct,type 【1.5】下列不属于C语言关键字的是。 A) default B) register C) enum D) external 【1.6】C语言程序从main()函数开始执行,所以这个函数要写在____。 A) 程序文件的开始B) 程序文件的最后 C) 它所调用的函数的前面D) 程序文件的任何位置 【1.7】下列关于C语言的叙述错误的是____ A) 大写字母和小写字母的意义相同 B) 不同类型的变量可以在一个表达式中 C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型 D) 同一个运算符号在不同的场合可以有不同的含义 【1.8】在C语言中,错误的int类型的常数是。 A) 32768 (超过了范围) B) 0 C) 037 D) 0xAF 【1.9】执行语句printf("%x",-1);屏幕显示____。 A) -1 B) 1 C) –ffff D) ffff 【1.10】已知long i=32768;执行语句printf("%d",i);屏幕显示____。 A) -1 B) -32768C) 1 D) 32768 【1.11】已知long i=65539; 执行语句printf("%d",i);屏幕显示____。 A) 65539 B) -3 C) 3D) 程序不能执行 【1.12】在C语言中,整数-8在内存中的存储形式是。 A) 1111 1111 1111 1000B) 1000 0000 0000 1000 C) 0000 0000 0000 1000 D) 1111 1111 1111 0111 【1.13】C语言中字符型(char)数据在内存中的存储形式是____。

网络编程试卷(含答案)

一.选择题(30分,每题3分) 1.以下哪个是TCP/IP模型(B) A.应用层,表示层,网络层,物理层; B.应用层,传输层,网络层,链路层C.应用层,传输层,链路层,物理层 D.应用层,传输层,网络层,物理层 的设计架构不包含以下哪一种( C) A.集中式架构 B.完全分布式架构 C.点对点架构 D.混合型架构 请求方法不包括如下哪一种( B) A.Post C.Get 的作用不包括(C) A.文件共享; B. 通过应用程序直接或间接使用远程主机; C.提供一致性的协议,避免用户在不同主机上有相同的操作方式; D. 提供可靠及有效率的数据传输; 与POP3的端口分别是:( B) A.25,75 B. 25,110 C.21,75 D. 21,110 地址是,子网掩码是,则其网段的广播地址是(C) A.的特点不包括如下哪一点(C) A.面向连接 B.全双工数据传送 C.传输速度快 D.面向字节流 8.关于线程哪一点是对的。(D) A.任何一个C#程序都有一个默认的线程,该线程是后台线程; B. 每个进程都有一个线程池。线程池默认大小有35个线程; C.线程池中的线程都是前台线程; D. C#中常用的线程同步的语句是lock语句; 9.在Internet中用一个三元组可以在全局中唯一标识一个应用层进程,这不包括下列哪一种( A ) A.网络层协议地址 C.端口号 D.传输层协议 IP协议簇中,哪一种是网络层协议( B ) A.TCP C.SMTP

二.判断题(15分,每题1分,用T表示对,F表示错) 1.端口的分配地址是1-65535,全局分配是1-1023,本地分配是1024-65535 (F) 2.线程池中既有后台线程也有前台线程,某进程的所有前台线程都终止了,后台进程也自 然终止。(F) 3.在SMTP中,电子邮件由信封、首部和正文3部分组成。(T) 4.数字签名是私钥加密,公钥解密。(T) 5.ESMTP与SMTP的区别是发送邮件时要求用户身份验证。(T) 6.HTTP的流水线方式是指客户在收到前一个响应后才能发出下一个请求。(F) 7.HTTP(Hypertext Transfer Protocol),超文本传输协议,目前的版本是。(F) 8.NAT功能是只能用硬件来实现(F) 9.IP地址有A,B,C,D,E五类(F) 10.UDP不需要连接,速度比TCP快;(T) 11.UDP传输的数据无消息边界;(F) 12.Socket类比位于底层TcpClient类提供了更高层次的抽象,它们封装TCP套接字的创建, 不需要处理连接的细节。(F) 13.监听套接字与新创建的套接字所使用的端口不同。(F) 14.本机回送地址是(T) 15.Socket套接字的Accept()方法若检测到监听套接字的缓冲区是空的话,立刻返回(F)三.简答题(55分) 1.什么是端口,网络通信中为什么要引入端口(6分) 答: 端口是TCP/IP协议簇中,应用层进程与传输层协议实体间的通信接口。端口是操作系统可分配的一种资源;应用程序(进程)通过系统调用与某端口绑定(binding)后,传输层传给该端口的数据都被相应进程接收,相应进程发给传输层的数据都通过该端口输出。 1.在网络通信过程中,需要唯一识别通信两端的端点,即运行于某机器中的应用程序。如 果没有引入端口,则只能通过进程号进行识别。进程号是系统动态分配的,不同的系统

相关文档
相关文档 最新文档