C语言期末考试练习题(3)

2019-08-30 23:42

printf(\ }

程序运行后的输出结果是 5 。 10、已定义以下函数

fun(char *p2, char *p1)

{ while((*p2=*p1)!='\\0'){ p1++;p2++; } }

函数的功能是:将 p1 所指字符串复制到 p2 所指内存空间

四、指针和数组

1. 下面程序段的运行结果是___hELLO_____。 char s[80],*sp=\ sp=strcpy(s,sp); s[0]='h'; puts(sp);

2. 下面程序段的运行结果是___ef_____。 char str[]=\ printf(\

3. 下面程序段的运行结果是: lang 。

char a[] = “language”, *p ; p = a;

while(*p != ?u?) {

printf(“%c”, *p); p++; }

4. 以下程序运行后的输出结果是 5 。

main()

{ char str[]=\

printf(\ }

5.若有定义:int a[]={2,4,6,8,10,12},*p=a;则*(p+1)的值是__4____。 *(a+5)的值是____12_____。

6.若有以下定义:int a[2][3]={2,4,6,8,10,12};则a[1][0]的值是__8___。 *(*(a+1)+0))的值是____8____。

****************************************************

7. 由若干基类型相同的指针所构成的数组,称为 指针数组 。 8. 有一个一维数组a[10],那么a与 &a[0] 等价。

五、字符串

1、不能用赋值运算符“=”将一个字符串赋值给一个字符数组,只能用 strcpy 函数实现赋值操作。

2、表达式strlen(“MALIN\\nMAN”)的值等于 9 。

3. 写出字符串处理函数的函数调用的一般形式:求字符串长度 strlen(str); ,字符串复制 strcpy(str1,str2); ,字符串比较 strcmp(str1,str2); 。

4. 用 gets 函数输入的字符串可以带空格。

六、结构体

1. 已有结构体,并且为该结构体定义了变量和指针变量,引用结构体的方法有

__________________

11

2. 下面定义的结构体类型拟包含两个成员,其中成员变量info用来存入整型数据,成员变量

link是指向自身结构体的指针,请将定义补充完整。struct node {int info; struct node*_ link; }

3. ad若有结构体 struct A{char a[6]; char b;}; 则sizeof(struct A)的值为_____7____ ****************************************************

4. 在C语言的数据类型中,数组和结构体都是构造类型,其中__数组__是同一类型的数据项占连续存储空间,_ 结构体 _是若干不同类型的数据项占连续存储空间。 5. 数组和链表都可以用于存储一组彼此有关联的数据,其中__数组__的长度是固定的, 链表 的长度是不固定的,而且可以动态分配存储空间。

6. 结构体是不同数据类型的数据集合,作为数据类型,必须先说明结构体_类型_,再说明结构体变量。

7. 如果有以下结构体类型的说明和变量定义,则把结点b连接到a之后的语句是_a.next=q; 。 struct ND { char data;

struct ND *next; } a,b,*p=&a,*q=&b;

8. 设有如下语句:

struct { int x; int y;

} d[2]={{1,3},{2,7}};

则执行:printf(“%d\\n”,d[0].y/d[0].x*d[1].x); 输出的是 6 。

**************************************************** 9、定义结构体类型以关键字 (6) 开始。 struct 10、有如下程序段

struct st { int x; int *y; } *pt; int a[]={1,2}; b[]={3,4}; struct st c[2]={ 10, a, 20, b }; pt = c;

则: 表达式*(pt->y)的值为 (9) ;表达式++(*pt->y)的值为 (10) 。1 2

七、文件操作

1. 在fopen函数中使用文件的方式是\,该方式的含义是___读写打开一个文本文件_____

2.C语言可以处理的文件类型是 文本文件与二进制文件 。

3、feof(fp)函数用来判断文件是否结束,如果遇到文件结束,函数值为 非0值 否则为 0 。 4、调用 fopen 函数打开一文本文件,在“使用方式”这一项中,如果是为输入而打开需填入 r 或 r+ 。

5、C语言文件有两种类型: 文件和 文件,其差别在于存储数值型数据的方式不同。 文本 二进制

6、因为操作系统对于同时打开的文件数目是有限制的,所以在文件使用结束后必须用函数 关闭由函数 打开的文件,否则会出现意想不到的后果。fclose fopen

7、语句fwrite(buffer,sizeof(Student),3, fp ); 实现的功能是: 。 把以buffer为首地

12

址的3个学生结构体类型数据输出到文件。

八、C++:

1. 语句cout << “hello\\0 world”的输出是___hello________ 2. 当建立一个新对象时,程序自动调用 构造函数 **************************************************** 3. C++源程序文件的缺省扩展名为 cpp 。

4. 构成对象的两个主要因素是 属性 和 行为 ,其中 属性 用于描述对象的静态特征, 行为 用于描述对象的动态特征。

5. 类和对象的关系可表述为:类是对象的 抽象 ,而对象则是类的 实例 。 6. 在关键字private后面定义的成员为类的 私有 成员。

7. 对象将其大部分实现细节隐藏起来,这种机制称为___封装___。 8. 复杂对象可以由简单对象构成,这种现象称为___聚合___。 **************************************************** 9、 和 作为函数重载判断的依据。 参数

Ⅲ 程序分析题

一、基础部分

1. 以下程序的输出结果为(x = 8)

#include int main() {

int i, j, x = 0;

for (i = 0; i < 2; i++) { x++;

for (j = 0; j < 3; j++) { if (j % 2) continue; x++; } x++; }

printf(\%d\\n\, x); return 0; } 2、以下程序的运行结果是 。6

#include void main() { int m=5; if(m++>5)

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

else;

printf(“%d\\n”,m--); }

13

3、下面程序的运行结果是_________。s=254 #include void main()

{ int a,s,n,count;

a=2; s=0; n=1; count=1; while(count<=7)

{ n=n*a; s=s+n; ++count; } printf(\ }

二、 数组

1. 书写下面程序运行结果: 101 69 55 34 23 11 7 1 void main() { int a[8] = {34,55,11,7,69,101,1,23}; int i, j, k, tmp; for(i=0; i<7; i++) { k = i; for(j=i+1; j<8; j++) if(a[j] > a[k]) k = j; if(k != i) { tmp = a[i]; a[i] = a[k]; a[k] = tmp; } } for(i=0; i<8; i++) printf(“=”, a[i]); }

2. 下面程序的运行结果是___#&*&%_____。 #include void main() {

char s[]=\ int k;char c;

for(k=1;(c=s[k])!='\\0';k++)

{

switch(c) {

case 'A':putchar('%');continue; case 'B':++k;break; default:putchar('*');

case 'C':putchar('&');continue; }

putchar('#'); } }

3. #include

14

void main() {

float b[6]={1.1,2.2,3.3,4.4,5.5,6.6},t; int i; t=b[0];

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

b[i]=b[i+1]; }

b[5]=t;

for(i=0;i<6;i++) { printf(“%6.2f”,b[i]); } }

2.20 3.30 4.40 5.50 6.60 1.10

四、指针和数组

1、书写下面程序运行结果:23 69 1 34 #define N 4

void Swap(int *x, int *y); void output(int array[], int n); void main() { int a[N] = {34,69,1,23}; Swap(&a[0],&a[N-1]); output(a, N); }

void Swap(int *x, int *y) { int tmp; tmp = *x; *x = *y; *y = tmp; }

void output(int a[], int n) { int i; for(i=0; i

2. 下面程序的运行结果是 3,0,-90,23,6,10, #include

void invert( int*, int i, int j ); void main( )

{ int a[6]={10,6,23,-90,0,3},i; invert(a,0,5);

15


C语言期末考试练习题(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:非康说明书 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: