77范文网 - 专业文章范例文档资料分享平台

C语言程序设计教程第七道第十二章课后练习题(3)

来源:网络收集 时间:2018-11-17 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

11 / 23

C.一个用于指向函数的指针变量 D.一个返回值为指针型的函数名

(19)若有以下说明和定义,在必要的赋值后,对fun函数的正确的调用语句是(D) int fun(int *c) {...} void main() {

int (*a)(int *)=fun,*b(),w[10],c; ... }

A.a=a(w); B.(*a)(&c); C.b=*b(w); D.fun(b);

(20)若指针p已正确定义,要使p指向两个连续的短整型动态存储单元,不正确的语句是(A)。

A.p=2*(shot*)malloc(sizeof(short)); B.p=(shot*)malloc(2*sizeof(short)); C.p=(shot*)malloc(2*2);

D.p= (shot*)calloc(2,sizeof(short));

(21)若有一下定和语句,则对s数组元素的正确引用形式是(B) int s[4][5],(*ps)[5]; ps=s;

A.ps+1 B.*(ps+3) C.ps[0][2] D.*(ps+1)+3

(22)有以下程序,若从键盘输入:abc def ,则输出结果是(A) void main() {

char *p,*q;

p=(char *)malloc(sizeof(char)*20);q=p; scanf(“%s%s”,p,q);printf(“%s %s\\n”,p,q); }

A. def def B.abc def C.abc abc D.def abc (23)有以下程序,程序运行后的输出结果是(B) void ss(char *s,char t) {

while(*s) {

if(*s==t) *s=t-‘a’+’A’; s++; } }

void main() {

char str1[100]=”abcddfefdbd”,c=’d’; ss(str1,c) printf(“%s\\n”,str1); }

A.ABCDDEFEDBD B.abcDDfefDbd C.abcAAfefAbA D.Abcddfefdbd (24)若定义了一下函数:

12 / 23

void f() {

*p=(double*)malloc(10*sizeof(double)); ... }

P是该函数的形参,要求通过p把动态分配存储单元的地址传回主调函数,则形参p的正确定义应当是(C)

A.double *p B.float **p; C.double **p; D,float *p; (25)阅读程序,下面程序的输出结果是(A)

假设可执行文件名为:prog.exe,运行时键入的命令行为:prog-386 net #include

void main(int argc, char *argv[]) { int i,

for(i=0;i

A. -386 net B.prog.exe-386 net C.prog.exe -386 net D.prog -386 net

程序填空题

(1) mystrlen函数的功能是计算str所指字符串的长度,并作为函数值返回,请填空。 Int mystrlen(char *str) { int i;

for(i=0;str[i]!=’\\0’,i++) return(i ); }

(2)函数sstrcmp()的功能是对两个字符串进行比较,当s所指字符串和t所指字符串相等时,返回值为0,;当s所指字符串大于t所指字符串时,返回值大于0;当s所指字符串小于t所指字符串时,返回值小于0;(功能同等于库函数受托strcmp()).请填空。 #include

int sstrcmp(char *s,char *t) {

while(*s&&*t&&*s==*t) {s++;t++;} return *s-*t; }

(3)以下函数把b字符串连接到a字符串的后面,并返回a中新字符串的长度,请填空。 int strcen(char a[],char[]) {

int num=0,n=0;

while(*(a+num)!=’\\0’) num++;

13 / 23

while(b[n]){*(a+num)=b[n];num++; n++}

return(num); }

(4)函数expand(char *s,*t)在将字符串s复制到字符串t时,将其中的换行符和制表符转换为可见的转义自字符,即用“\\n”表示换行符,用“\\t”表示制表符,请填空。 void expand(char *s,char *t) { int i,j;

for(i=j=0;s[i]!=’\\0’;i++) switch(s[i]) {

case ‘\\n’:t[i]=’\\’; t[j++]=’n’; break; case ‘\\t’:t[i]=’\\’; t[j++]=’t’; break;

default: t[j++]=s[i]; break; }

t[j]=’\\0’; }

习题10

选择题

(1) 以下叙述中不正确的是(D) A. 预处理命令都必须以#号开始

B. 在程序中凡是以#号开始的语句行都是预处理命令 C. C程序在执行过程中对预处理命令进行处理 D. 以下正确的宏定义 #define IBM_PC (2) 以下程序的运行结果是(B) #define MIN (x,y) (x)<(y)?(x):(y) void main() {

int i=0,j=15,k; k=10*MIN(i,j); printf(“%d\\n”,k); }

14 / 23

A.10 B.15 C.100 D.150

(3)以下叙述正确的是(C)

A.在程序的一行上可以出现多个有效的预处理命令 B.使用带参的宏时,参数的类型与宏定义一致 C.宏替换不占用运行时间,只占编译时间

D.在以下定义CR是称为“宏名”的标识符 #define C R 045 (4)以下程序运行的结果是(B) #define ADD(x) x+x void main() {

int m=1,n=2,k=3;

int sum=ADD(m+n)*k; //sum=m+n+m+n*k printf(“sum=%d”,sum); }

A. sum=9 B. sum=10 C. sum=12 D. sum=18 (5)程序中头文件typel.h的内容是: #define N 5

#define M1 N*3 程序如下:

#include”type1.h” #define M2 N*2 void main() { int i;

i=M1+M2;

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

程序编译后运行的输出结果是(C)

A.10 B.20 C.25 D.30 (6)以下叙述正确的是(D)

A.可以把define和if定义为用户标识符

B.可以把define定义为用户标识符,但不能把define定义为用户标识符 C.可以把if定义为用户标识符,但不能把define 定义为用户标识符 D.define和if都不能定义为用户标识符

(7)若有以下说明和定义,则叙述正确的是(C) typedef int *INTEGER INTEGER p,*q;

A.p是int型变量 B.p是基类型为int的指针变量

C.q是基类型为int的指针变量 D.程序中可用INTEGER代替int类型名 (8)从下列选项中选择不会引起二义型的宏定义是(D)。 A.#define POWER(x) x*x B. #define POWER(x) (x)*(x) C. #define POWER(x) (x*x) D. #define POWER(x) ((x)*(x)) (9)以下程序运行的结果是(C)

15 / 23

#define X 5 #define Y X+1 #define Z Y*x/2 void main() {

int a=Y;

printf(“%d,%d”,Z,--a); }

A.7,6 B.12,6 C.12,5 D.7,5

习题11

选择题

(1) 在16位C语言编译系统上,当说明一个结构体变量时系统分配给它的内存是(C) A. 各成员所需内存量总和

B. 结构中第一个成员所需内存量 C. 成员中占内存量最大者所需的容量 D. 结构中最后一个成员所需内存量

(2) 设有以下说明语句,则下面的叙述不正确是(C) struct stu { Int a; flaot b; }stutype;

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

B. struct stu 是用户定义的结构体类型 C. stutype 是用户定义的结构体类型名 D. a和b都是结构体成员名

(3) C语言结构类型名变量在程序执行期间(A)

A.所有成员一直驻留在内存中 B.只有一个成员驻留在内存中 C.部分成员驻留在内存中 D.没有成员驻留在内存中 (4)在16位IBM-PC机上使用C语言,若有以下定义: struct data { int i; char ch; double f; }b;

则结构体b变量所占用的内存的字节数是(D).

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C语言程序设计教程第七道第十二章课后练习题(3)在线全文阅读。

C语言程序设计教程第七道第十二章课后练习题(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/282508.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: