• C_11练习题


    一、单项选择题(本大题共20小题,每小题2分,共40分。在每小题给出的四个备选项中,选出一个正确的答案,并将所选项前的字母填写在答题纸的相应位置上。)

    1. 以下叙述中正确的是()

    A.C语言不是一种高级语言
    B.C语言不用编译就能被计算机执行
    C.C语言能够直接访问物理地址和进行位操作
    D.C语言具有其他语言的一切优点

    2,以下哪项不属于C语言的保留字()

    A. int
    B. main
    C. void
    D. return

    3.C语言是一种结构化语言,是因为()

    A.用C语言编写的程序层次清晰明了,易于调试和维护
    B.C语言具有结构化的控制语句,如if语句、while语句、for语句等
    C.C语言用函数作为程序的模块单位,以函数为模块组织程序
    D.C语言用函数作为程序的模块单位,以函数为模块组织程序,还具有结构化的控制语句。如if语句、while语句、for语句等

    4.以下选项中,能用做数据常量的是()。

    A. ol115
    B.0118
    C. 1.5e1.5
    D. 115L

    5.设a,b和c都是int型变量,且a=3,b=4,c=5,则下列表达式中,值为0的表达式是()

    A. ‘a’&&‘b’
    B. a<=b
    C. allb+c&&b-c
    D. !((a

    6.设变量n为Noat型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五人运算的表达式是()

    A. n=(n100+0.5)/100.0
    B.m=n
    100+0.5,n=m/100.0
    C.n=n*100+0.5/100.0
    D.n=(n/100+0.5)*100.0

    7.以下关于运算符优先级顺序的描述中正确的是()

    A.关系运算符<算术运算符<赋值运算符
    B.赋值运算符<关系运算符<算术运算符
    C.算术运算符<关系运算符<赋值运算符
    D.赋值运算符<算术运算符<关系运算符

    8.语句printi(“%d”,(a=2)&&(b=-2));的输出结果是()。

    A.无输出
    B.结果不确定
    C.-1
    D.1

    9.下列不是C语言所表现出来的不足之处

    A.数据类型检查不严格
    B.表达式容易出现二义性
    C.可移植性差
    D.不能自动检查数据越界

    10,下列程序的功能是:给:输入数据后计算半径为r的圆面积s。程序在编译时出错,原因是()。
    #include
    int main (){
    int r; float s;
    scanf(“%d”, &r);
    s = PIrr;printf(“s=%An”, s);
    return 0;
    }

    A.注释语句书写位置错误
    B.存放半径的变量r不应该定义为整型
    C.输出语句中格式描述符非法
    D.计算圆面积的赋值语句中使用了非法变量

    11.下而程序运行时如果输入“-123362<回车>”,则输出结果是(

    #include 
    
    int main() {
        int t, a, b, i;
    
        for (i = 1; i <= 3; i++) {
            printf("Enter two integers: ");
            scanf("%d %d", &a, &b);
    
            if (a > b) {
                t = a - b;
            } else if (a == b) {
                t = 1;
            } else {
                t = b - a;
            }
    
            printf("%d\n", t);
        }
    
        return 0;
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    A.304
    B.314
    C.134
    D.316

    1. 下面的这个循环的循环次数是(for(int i=0,j=10; i=j=10; i++j–)

    A.语法错误,不能执行
    B.无限次
    C. 10
    D.1

    13.假定double类型变量占用8个字节,且数组定义如下,则数组length在内在中所占字节数是double length [10];

    A.0
    B. 10
    C.80
    D. 160

    14.以下对二维数组a的正确说明是()

    A. int a[3]0;
    B. float a(3,4);
    C. double a[1][4];
    D. float a(3)(4);

    15.以下描述错误的是()

    A.字符串数组中可以存放ASCI字符集中的任何字符
    B.字符串数组的字符可以整体输入输出
    C.字符串数组中只能存放键盘上可以找到的字符
    D.不可以用关系运算符对数组中的字符串进行比较

    16,下列变量中,哪类变量的生存期和作用域是不一致的()。

    A. 自动变量
    B.外部变量
    C.静态局部变量
    D.寄存器变量

    1. 以下不正确的说法是()。

    A.实参可以是常量、变量或表达式
    B.实参可以是任何类型
    C.形参可以是常量、变量或表达式
    D.形参应与对应的实参类型一致

    18,若已定义: int a[9], *p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是

    A. p+1
    B. a+1
    C. a++
    D. ++p

    19,下列选项中不会引起二义性的宏定义是()。

    A.#define POWER(x) xx
    B.#define POWER(x) (x)
    (x)
    C. #define POWER(x)(xx)
    D. #define POWER(x) ((x)
    (x))

    1. 以下程序的输出结果是()
    #include 
    
    int main() {
        char a[] = "programming";
        char b[] = "language";
        char *pl = a, *p2 = b;
        int i;
    
        for (i = 0; i < 7; i++) {
            if (*(pl + i) == *(p2 + i)) {
                printf("%c", *(pl + i));
            }
        }
    
        return 0;
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    A. gm
    B. rg
    C. or
    D. ga

    二、程序阅读题(本大题共5小题,每小题6分,共30分。请将程序的运行结构填写在答题纸的相应位置上。)
    1_________

    #include 
    
    int main() {
        int i;
        char str[] = "university";
    
        for (i = 0; i <= 3; i++) {
            switch (i) {
                case 0:
                    printf("%c ", str[i]);
                    break;
                case 1:
                    printf("%c\n", str[i]);
                    break;
                case 2:
                    printf("%s\n", str);
                    break;
                default:
                    printf("***In");
            }
        }
    
        return 0;
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    2_______

    #include 
    
    int main() {
        int i;
        char str[] = "university";
    
        for (i = 0; i <= 3; i++) {
            switch (i) {
                case 0:
                    printf("%c ", str[i]);
                    break;
                case 1:
                    printf("%c\n", str[i]);
                    break;
                case 2:
                    printf("%s\n", str);
                    break;
                default:
                    printf("***In");
            }
        }
    
        return 0;
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    3_______

    #include 
    
    int main() {
        int a[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
        int m, k, t;
    
        for (m = 0; m < 3; m++) {
            for (k = 0; k <= m; k++) {
                if ((m + k) % 2) {
                    t = a[m][k];
                    a[m][k] = a[k][m];
                    a[k][m] = t;
                }
            }
        }
    
        for (m = 0; m < 3; m++) {
            for (k = 0; k < 3; k++) {
                printf("%d ", a[m][k]);
            }
            printf("\n");
        }
    
        return 0;
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    4_______

    #include "stdio.h"
    void main()
    {int a,b,t;
    t = 0;
    scanf("%d,%d",&a,&b);
    if(a>b) t=a;a= b;b=t;
    printf("b=%d",b);
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    5______`

    #include 
    void ast(int x,int y,int *cp,int *dp)
    {*cp=x*y; *dp=x/y;}
    void main(){
    int a,b,c,d;
    a=4; b=3;
    ast(a,b,&c,&d);
    printf("%d,%d\n",c,d);}
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    三、程序填空题(共35分。请将答案填写在答题纸的相应位置上。)
    1,下列程序先消除输入字符串的前后空格,再判断是否是“回文”(即字符串正读和倒读都是一样),若是则输出 YES,否则输出 NO。

    #include 
    #include 
    int main(){
    char s[80], ch, *p, *q;
    int i, j, n;
    gets(s);
    p=s;
    while (*p==')_________;
    n = strlen(s);
    q=__________;
    while ( *q =='')_________;
    while(___________&& *p==*q){
    p++;
    _________;
    }
    if (p<q)
    	printf("NO\n");
    else
    	printf("YESn");
    	return 0;
    	}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    2.本程序的功能是将字符串a的所有字符传送到字符串b中,要求每传送三个字符后再存放一个空格。

    #include 
    int main(){
    int i,k=0;
    char a[80], b[80], *p;
    p=a;
    gets(p);
    while(*p)
    { for(i=1;___________;ip++, k++,i++) b[k]=*p;
    	if(__________) (bk='';k++);}
    }
    b[k]='\0'
    ;puts(b);
    return 0;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    四、编程题(本大题共3小题,每小题15分,共45分。请在答题纸的相应位置上作答。)

    1. 给定平面上任意三个点的坐标(x1,y1)、(x2,y2)、(x3,y3),编写程序检验它们能否构成三角形。若这3个点不能构成三角形,则输出"Impossible";若可以,则输出该三角形的周长和面积。

    2.编写函数int stremp(char pl,charp2):实现两个字符串的比较。

    3,某大学正在举行歌唱比赛,现有10位评委为学生评分,评分采用百分制。按如下规则计算学生的最终得分:先计算评委的分数之和,减去分数中的最高分与最低分,再除以8得到学生的成绩。请输入1位同学的10个分数,计算和输出学生的最终得分。下面给出了main0函数,请将其他函数补充完整,即写出input、ssum、smax与smin函数的定义。

    #include 
    int main(){ 
    int score[10],max,min,sum;
     float aver;input(score, 10);//输入 10个评委的评分sum=ssum(score,10);//计算 10个评委的评分之和
     max=smax(score,10);//计算最高分min=smin(score,10);//计算最低分
     aver-(sum-max-min)*1.0/(10-2);//计算学生的最终得分
     printf("%fn",aver);//输出学生的最终得分return 0;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
  • 相关阅读:
    安规耐压漏电流
    u16 转为 int
    【iptables&icmp】iptables默认策略中关于icmp协议的说明
    [源码解析] TensorFlow 分布式之 ParameterServerStrategy V1
    unity shader全局雾效
    springboot中的@Configuration详解~
    5分钟get一个技术点!揭秘一种加密框架的技术实现
    数学建模 Excel的批量写入与批量导出
    做原型设计时,你不一定需要线框图
    [重庆思庄每日技术分享]-从dg备库expdp导出数据
  • 原文地址:https://blog.csdn.net/weixin_47431459/article/details/134454455