奥鹏易百

 找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 468|回复: 0

(答案资料)西南交通大学17秋《高级语言程序设计A》在线作业一

[复制链接]

1万

主题

3

回帖

2万

积分

论坛元老

积分
29086
发表于 2017-9-30 10:40:18 | 显示全部楼层 |阅读模式
西南交《高级语言程序设计A》在线作业一
一、单选题:【25道,总分:50分】


1.下面能正确进行字符串赋值操作的是          (满分:2)
    A. char s[5]={"ABCDE"};
    B. char s[5]={ ′A′, ′B′, ′C′, ′D′, ′E′};
    C. char *s;s="ABCDE";
    D. char *s;char a; scanf("%s",&s);
2.函数Func的功能是(    )     int  Func(char  *ptr)     {  char  *p;        p=ptr;        while (*p++);        return (p-ptr-1);    }          (满分:2)
    A. 比较两个字串的大小
    B. 求字符串的长度
    C. 将串ptr复制到p中
    D. 以上三种说法都不对
3.下列程序的输出结果是    main(    )    { double d=3.2; int x,y;    x=1.2; y=(x+3.8)/5.0;    printf("%d\n", d*y);    }          (满分:2)
    A. 3
    B. 3.2
    C. 0
    D. 3.07
4.已知实型变量a存贮的是一个0--1之间的实数,将a以两位小数百分比形式输出(如:a=0.347592,则输出为34.75%)正确的打印语句是(    )          (满分:2)
    A. printf(“%.2f%%”,a*100)
    B. printf(“%.2f%”,a)
    C. printf(“%.2f%%”,a/100)
    D. printf(“%.2f%%”,100*(a+0.5));
5.C语言中运算对象必须是整型的运算符是(    )          (满分:2)
    A. %
    B. /
    C. =
    D. <=
6.下面程序段的运行结果是    char *format=&quot;%s,a=%d,b=%d\n&quot;;    int a=11,b=10;    a+=b;    printf(format,&quot;a+=b&quot;,a,b);          (满分:2)
    A. for,&quot;a+=b&quot;,ab
    B. format,&quot;a+=b&quot;
    C. a+=b,a=21,b=10
    D. 以上结果都不对
7.若有如下说明 char a[10]={‘a’,’b’,’c’,’d’,’e’,’f’,’g’,’h’,’i’,’j’},*p=a; 则输出表达式*(p+8),即printf("%c\n",*(p+8));得到(    )          (满分:2)
    A. g
    B. h
    C. i
    D. j
8.能正确表达逻辑关系"a≥5"且"a≤10"的C语言表达式是(    )          (满分:2)
    A. a>=5ora<=10
    B. a>=5|a<=10
    C. a>=5&&a<=10
    D. a>=5(    )a<=10
9.下列程序段的输出结果是(    )void fun(int *x, int *y) { printf("%d %d", *x, *y); *x=3; *y=4;}  void main(    ) { int x=1, y=2; fun(&y,&x);  printf("%d %d", x, y); }          (满分:2)
    A. 1212
    B. 2143
    C. 1234
    D. 2112
10.有以下程序,程序运行的结果是(    ) #include “stdio.h” main(    ){  int x=1;  switch(x){    case 0: printf(“0\t”); break;   case 1: printf(“1\t”);     case 2: printf(“2\t”);     case 3: printf(“3\t”); break;    default: printf(“error”);    } }          (满分:2)
    A. 123
    B. 23
    C. 23error
    D. 2
11.C语言中,能识别处理的文件为          (满分:2)
    A. 文本文件和数据块文件
    B. 文本文件和二进制文件
    C. 流文件和文本文件
    D. 数据文件和二进制文件
12.下面程序的运行结果是    #include    main(    )    { int y=10;    do{y--;}while(--y);    printf(&quot;%d\n&quot;,y--);    }          (满分:2)
    A. 1
    B. 1
    C. 8
    D. 0
13.continue语句的作用是(    )          (满分:2)
    A. 中止函数的执行
    B. 立即中止循环
    C. 中止本次循环,直接开始下一次循环
    D. 从一个循环体直接跳转至另一个循环体内
14.函数 rewind 的作用是          (满分:2)
    A. 使文件位置指针重新返回文件的开始位置
    B. 将文件位置指针指向文件中所要求的特定位置
    C. 使文件位置指针指向文件的末尾
    D. 使文件位置指针自动移至下一个字符位置
15.以下说法中正确的是(    )          (满分:2)
    A. 一个函数在编译时被分配得到一个入口地址,这个入口地址称为函数的指针
    B. a/=b+c;这个式子和a=a/b+c;等价
    C. C语言开始执行程序的开始执行点是程序中第一条可执行的语句
    D. 对二维数组a赋值可以用这样的语句完成inta[4][]={1,2,3,4,5,6,7,8};
16.设有以下语句:    char x=3,y=6,z;    z=x^y<<2;    则z的二进制值是          (满分:2)
    A. 00010100
    B. 00011011
    C. 00011100
    D. 00011000
17.下列程序的输出结果是    int b=2;    int func(int *a)    { b += *a; return(b);}    main(    )    { int a=2, res=2;    res += func(&a);    printf(&quot;%d\n&quot;,res);    }          (满分:2)
    A. 4
    B. 6
    C. 8
    D. 10
18.C语言表示逻辑假的方法是(    )          (满分:2)
    A. FALSE
    B. 0
    C. 1
    D. NULL
19.有定义static int a[]={1, 2, 3, 4},*p ; 执行语句p=a+2 ; 后,表达式*p的值为(    )          (满分:2)
    A. 4
    B. 1
    C. 2
    D. 3
20.若有宏定义:#define PI  3.14  #define S(r)  PI*r*r 则主函数中语句s2=S(r+3);  宏替换后的结果为(    )          (满分:2)
    A. s2=PI*r+3*r+3
    B. s2=3.14*(r+3)*(r+3)
    C. s2=3.14*r+3*r+3
    D. s2=PI*r*r
21.假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入:    PROG ABCDEFGH IJKL,则输出结果为    main( int argc, char *argv[])    { while(--argc>0)    printf(&quot;%s&quot;,argv[argc]);    printf(&quot;\n&quot;);    }          (满分:2)
    A. ABCDEFG
    B. IJHL
    C. ABCDEFGHIJKL
    D. IJKLABCDEFGH
22.一个C语言程序是由          (满分:2)
    A. 一个主程序和若干子程序组成
    B. 函数组成
    C. 若干过程组成
    D. 若干子程序组成
23.以下可作为函数fopen中第一个参数的正确格式是(    )          (满分:2)
    A. c:user\text.tex
    B. c:\user\text.txt
    C. “c:user\text.tex”
    D. “c:\\user\\text.txt”
24.以下不正确的叙述是          (满分:2)
    A. 在C程序中,逗号运算符的优先级最低
    B. 在C程序中,APH和aph是两个不同的变量
    C. 若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变
    D. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值
25.若有以下程序    #include     int a[]={2,4,6,8};    main(    )    { int i;    int *p=a;    for(i=0;i<4;i++)a[i]=*p;    printf(&quot;%d\n&quot;,a[2]);    }    上面程序输出结果是          (满分:2)
    A. 6
    B. 8
    C. 4
    D. 2
二、多选题:【15道,总分:30分】

1.带参宏定义与函数的区别是:(    )。          (满分:2)
    A. 函数调用时,先求出实参表达式的值,然后代入形参,带参的宏只是进行简单的字符替换
    B. 函数调用是在程序运行时为形参分配临时的存储单元,而宏展开是在编译前进行的
    C. 宏不存在类型问题,宏名和参数都不存在类型问题
    D. 调用函数只能得到一个返回值,而使用宏可设法得到几个结果
2.C提供的预处理功能主要有(    )。          (满分:2)
    A. 宏定义
    B. 文件包含
    C. 条件编译
    D. 异常终止
3.以下不正确的叙述是(    )。          (满分:2)
    A. C语言的主函数是无参函数
    B. C语言的主函数最多允许有1个参数
    C. C语言的主函数最多允许有2个参数
    D. C语言的主函数可以有2个以上参数
4.以下正确的C语言标识符是(    )。          (满分:2)
    A. ABC
    B. abc
    C. abc
    D. ab.c
5.若有以下定义和语句:double r=99,*p=&r; *p=r;则以下不正确的叙述是:(    )          (满分:2)
    A. 以上两处的*p含义相同,都说明给指针变量p赋值
    B. 语句“*p=r;”把变量r的地址值赋给指针变量p
    C. 语句“*p=r;”取变量r的值放回r中
    D. 在“double r=99,*p=&r;”中,把r的地址赋值给了p所指的存储单元
6.已知:int x;,则下面的说明指针变量pb的语句(    )不是正确的。          (满分:2)
    A. int pb=&x;
    B. int *pb=x;
    C. int *pb=&x;
    D. *pb=*x
7.在文件操作中,用于检测和设置文件状态的函数有(    )。          (满分:2)
    A. 文件结束检测函数feof(    )
    B. 读写文件出错检测函数ferror(    )
    C. 文件出错和结束标志文件函数才clearerr(    )
    D. 文件关闭函数fclose(    )
8.在C语言中,正确的int类型的常数是:(    )。          (满分:2)
    A. 0
    B. 32768
    C. 037
    D. 0xaf
9.以下说法不正确的是(    )。          (满分:2)
    A. 定义函数时,形参的类型说明可以放在函数体内
    B. return后边的值不能为表达式
    C. 如果函数值的类型与返回值表达式的类型不一致,以函数值类型为准
    D. 如果形参与实参的类型不一致,以实参类型为准
10.下列说法中错误的是(    )。          (满分:2)
    A. 不允许设置参数的默认值
    B. 设置参数的默认值只能在定义函数时设置
    C. 设置参数的默认值时,应该设置右边的参数
    D. 设置参数的默认值时,应该全部参数都设置
11.下列字符中能构成标识符的是(    )。          (满分:2)
    A. 数字字符
    B. 连接符
    C. 下划线字符
    D. 大写字母
12.下列说法不正确的是(    )。          (满分:2)
    A. C程序由符号构成
    B. C程序由标识符构成
    C. C程序由函数构成
    D. C程序由C语句构成
13.对静态变量的正确描述          (满分:2)
    A. 静态局部变量在静态存储区内分配单元( )
    B. 静态外部变量可以赋初值,也可以不赋初值
    C. 静态外部变量的作用与外部变量相同
    D. 静态局部变量在函数调用结束时,仍保存其值,不会随着消失。
14.在缓冲文件系统中用于读写的函数有          (满分:2)
    A. putchar(    )
    B. fread(    )
    C. rewind(    )
    D. putw(    )
15.对函数的正确使用方法描述          (满分:2)
    A. A、用数组做函数参数时,必须在主调函数和被调函数中分别定义数组
    B. B、实参数组元素和形参数组元素类型可以不一致
    C. C、形参数组长度可以不指定
    D. D、形参数组长度可以大于实参数组长度
三、判断题:【10道,总分:20分】

1.switch语句中,各个case和default的出现次序不影响执行结果。(    )          (满分:2)
    A. 错误
    B. 正确
2.函数必须有返回值,否则不能使用函数          (满分:2)
    A. 错误
    B. 正确
3.若打开文件的方式为“w”而该文件已经存在,则文件中原有数据被清除。          (满分:2)
    A. 错误
    B. 正确
4.共用体所占的内存空间大小取决于占空间最多的那个成员变量。          (满分:2)
    A. 错误
    B. 正确
5.‘ a’和“a”在内存中所占字节数相同。(    )          (满分:2)
    A. 错误
    B. 正确
6.对于double类型数组,不可以直接用数组名对数组进行整体输入或输出。          (满分:2)
    A. 错误
    B. 正确
7.C语言编译系统在给出逻辑运算结果时,以数值1代表真,以0代表假,但在判断一个量是否为“真”时,以0代表假,以非0代表真。(    )          (满分:2)
    A. 错误
    B. 正确
8.宏名必须用大写字母表示。          (满分:2)
    A. 错误
    B. 正确
9.switch语句中,多个case可以共用一组执行语句。(    )          (满分:2)
    A. 错误
    B. 正确
10.语句int pt中的*pt是指针变量名。          (满分:2)
    A. 错误
    B. 正确
更多学习资料请登录www.openhelp100.com

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|www.openhelp100.com ( 冀ICP备19026749号-1 )

GMT+8, 2024-11-24 15:32

Powered by openhelp100 X3.5

Copyright © 2001-2024 5u.studio.

快速回复 返回顶部 返回列表