作业辅导 发表于 2017-8-15 11:43:24

《C语言(专科)》川农17年9月在线作业答案

《C语言(专科)》17年9月在线作业
一、单选题:【20道,总分:100分】
1.设有以下定义:int a={1,2,3,4,5,6,7,8,9,10,11,12};int(*prt)=a,*p=a则下列能够正确表示数组元素a的表达式是(    )          (满分:5)
    A. *((*prt+1))    B. *(*(p+5))
    C.(*prt+1)+2    D. *(*(a+1)+2)
2.以下说法中正确的是(    )          (满分:5)
    A. #define和printf都是C语句###define是C语句,而printf不是##printf是C语句,但#define不是###define和printf都不是C语句
    B. #define是C语句,而printf不是
    C. printf是C语句,但#define不是
    D. #define和printf都不是C语句
3.执行下面的程序后,a的值是(    )#define    SQR(X)X*X main(    ){ int a=10,k=2,m=1;a/=SQR(k+m)/SQR(k+m);printf("%d\n",a);}          (满分:5)
    A. 10
    B. 1
    C. 9
    D. 0
4.以下有关宏替换的叙述不正确的是(    )          (满分:5)
    A. 宏替换不占用运行时间
    B. 宏名无类型
    C. 宏替换只是字符替换
    D. 宏名必须用大写字母表示
5.设有如下定义:char *aa={"abcd","ABCD"};则以下就法中正确的是(    )          (满分:5)
    A. aa数组成元素的值分别是"abcd"和"ABCD"
    B. aa是指针变量,它指向含有两个数组元素的字符型一维数组
    C. aa数组的两个元素分别存放的是含有4个字符的字符串的首地址
    D. aa数组的两个元素中各自存放了字符'a'和'A'的地址
6.运行以下程序后,如果从键盘上输入 china#,则输出结果为(    )#includemain(    ){ int v1=0,v2=0;char ch;while((ch=getchar(    ))!='#')switch(ch){ case'a';case'h';default;    v1++;case   '0'; v2++;}printf("%d,%d\n",v1,v2);}          (满分:5)
    A. 2,0
    B. 5,0
    C. 5,5
    D. 2,5
7.以下程序运行后,如果从键盘上输入book book 则输出的结果是(    )#includemain(    ){ char a1,a2,*s1=a1, *s2=a2;gets(s1); gets(s2);if(! strcmp(s1,s2)) printf("*");esle printf("#"); printf("%d/n",strlen(strcat(s1,s2))); }          (满分:5)
    A. *8
    B. 9
    C. 6
    D. *9
8.以下程序运行后,输出结果是(    )main(    ){   char   *s="abcde";s+=2;printf("%ld\n",s); }          (满分:5)
    A. cde字符c的ASCII码值
    B. 字符c的地址
    C. 出错
9.C语言的编译系统对宏命令的处理是(    )          (满分:5)
    A. 在程序运行时进行的
    B. 在程序连接时进行的
    C. 和C程序中的其它语句同时进行编译的
    D. 在对源程序中其它成份正式编译之前进行的
10.以下程序的输出结果是(    )main(    ){   int x=10,y=10; printf("%d %d\n",x--,--y);}          (满分:5)
    A. 10 10
    B. 9 9
    C. 910
    D. 10 9
11.下面能正确进行字符串赋值操作的语句是(    )          (满分:5)
    A. char s={"ABCDE"};
    B. char s={'A','B','C','D','E'};
    C. char *s;s="ABCDEF";
    D. char *s; scanf("%s",s);
12.有以下程序:#include main(    ){ int   a,b,c=246;a=c/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b); }输出结果是(    )          (满分:5)
    A. 2,1
    B. 3,2
    C. 4,3
    D. 2,-1
13.执行下面的程序后,a的值为(    )main(    ){   int a,b;for(a=1,b=1;a=20)break;if(b%3==1){b+=3;continue;}b-=5; }}          (满分:5)
    A. 7
    B. 8
    C. 9
    D. 10
14.下列程序执行后输出的结果是(    )#include 〈stdio.h〉f(int a){int b=0;static c=3: a=c+ +,b+ +;returu(a); }main(    ){ int a=2,i,k;for(i=0;i<2;i+ +) k=f(a+ +);printf("%d\n",k);}          (满分:5)
    A. 3
    B. 0
    C. 5
    D. 4
15.在宏定义 #define PI3.14159中,用宏名PI代替一个(    )          (满分:5)
    A. 常量
    B. 单精度数
    C. 双精度数
    D. 字符串
16.请选出合法的C语言赋值语句(    )          (满分:5)
    A. a=b=58
    B. i++
    C. a=58,b=58
    D. k=int(a+b)
17.请选出可用作C语言用户标识符的一组标识符(    )          (满分:5)
    A. void define WORD
    B. a3b3123IF
    C. For -abc Case
    D. 2a DO sizeof
18.请选出以下语句的输出结果(    )printf("%d\n",strlen("\t\"\065\xff\n"));          (满分:5)
    A. 5
    B. 14
    C. 8
    D. 输出项不合法,无正常输出
19.以下程序运行后,如果从键盘上输入book book 则输出的结果是(    )#includemain(    ){ char a1,a2,*s1=a1, *s2=a2;gets(s1); gets(s2);if(! strcmp(s1,s2)) printf("*");esle printf("#"); printf("%d/n",strlen(strcat(s1,s2))); }          (满分:5)
    A. *8
    B. 9
    C. 6
    D. *9
20.假定所有变量均已正确说明,下列程序段运行后x的值是(    )a=b=c=0;x=35;if(!a)x--;else if(b);if(c)x=3;else x=4;          (满分:5)
    A. 34
    B. 4
    C. 35
    D. 3

页: [1]
查看完整版本: 《C语言(专科)》川农17年9月在线作业答案