homework 发表于 2016-12-9 09:55:40

C语言(专科)16秋在线作业四川农业大学

川农《C语言(专科)》16秋在线作业

一、单选题:
1.以下程序运行后,如果从键盘上输入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
2.若有以下定义: char    a;    int   b;float   c;    double   d;则表达式a*b+d-c值的类型为(    )          (满分:5)
    A. float
    B. int
    C. char
    D. double
3.给出以下定义char x[ ]="abcdefg";char y[ ]={'a','b','c','d','e','f','g'};则正确的叙述为(    )          (满分:5)
    A. 数组X和数组Y等价
    B. 数组x和数组Y的长度相同
    C. 数组X的长度大于数组Y的长度
    D. 数组X的长度小于数组Y的长度
4.以下程序的输出结果是(    )main(    ){   int x=10,y=10; printf("%d %d\n",x--,--y);}          (满分:5)
    A. 10 10
    B. 9 9
    C. 910
    D. 10 9
5.以下有关宏替换的叙述不正确的是(    )          (满分:5)
    A. 宏替换不占用运行时间
    B. 宏名无类型
    C. 宏替换只是字符替换
    D. 宏名必须用大写字母表示
6.设有以下定义: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)
7.假设在程序中a,b,c均被定义成整型,并且已赋大于1的值,则下列能正确表示代数式1的表达式是(    )          (满分:5)
    A. 1/a*b*c
    B. 1/(a*b*c)
    C. 1/a/b/(float)c
    D. 1.0/a/b/c
8.执行以下程序段时x=-1; do{x=x*x;    }   while(! x);          (满分:5)
    A. 循环体将执行一次
    B. 循环体将执行两次
    C. 循环体将执行无限次
    D. 系统将提示有语法错误
9.若有宏定义如下#defineX    5#defineY    X+1#defineZ    Y * X / 2则执行以下printf语句后,输出结果是(    )int a;a=Y;Printf("%d\n", Z);Printf("%d\n", - - a);          (满分:5)
    A. 76
    B. 126
    C. 125
    D. 75
10.以下程序运行后,如果从键盘上输入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
11.函数调用:strcat(strcpy(str1,str2),str3)的功能是(    )          (满分:5)
    A. 将串str1复制到串str2中后再连接到串str3之后
    B. 将串str1连接到串str2之后再复制到串str3之后
    C. 将串str2复制到串str1中后再将串str3连接到串str1之后
    D. 将串str2连接到串str1之后再将串str1复制到串str3中
12.有以下程序 int fun(int x , int y , int *cp , int *dp){*cp=x+y;    *dp=x-y;}main(    ){int a, b, c, d;a=30;b=50;fun(a,b,&c,&d);printf("%d,%d\n", c, d);}输出结果是(    )          (满分:5)
    A. 50
    30
    B. 30
    50
    C. 80
    -20
    D. 80
    20
13.下列程序执行后输出的结果是(    )#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
14.若i ,j已定义为int类型,则以下程序段中for(i=5;i;i--)for(j=0;j<4;j++){...}内循环体的总的执行次数是(    )          (满分:5)
    A. 20
    B. 15
    C. 24
    D. 16
15.有以下程序:#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
16.当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是(    )          (满分:5)
    A. c=b=a;
    B.(a=c)‖(b=c);
    C.(a=c)&&(b=c);
    D. a=c=b;
17.以下说法中正确的是(    )          (满分: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语句
18.请选出以下语句的输出结果(    )printf("%d\n",strlen("\t\"\065\xff\n"));          (满分:5)
    A. 5
    B. 14
    C. 8
    D. 输出项不合法
    无正常输出
19.以下程序的输出结果是(    )#include main(    ){    char    *p1,*p2,str="ABCDEFG";p1="abcd";      p2="efgh";strcpy(str+1,p2+1);    strcpy(str+3,p1+3);printf("%s",str);}          (满分:5)
    A. A)AfghdEFG
    B. Abfhd
    C. Afghd
    D. Afgd
20.请选出合法的C语言赋值语句(    )          (满分:5)
    A. a=b=58
    B. i++
    C. a=58
    b=58
    D. k=int(a+b)

**** Hidden Message *****
页: [1]
查看完整版本: C语言(专科)16秋在线作业四川农业大学