C语言程序设计模拟试卷
(考试时间:75分钟)
(总分:150分)
一、单项选择题(本大题共20小题,每小题2分,共40分。)
1.C语言中,变量名中不应使用的是(    )。
    A.大写字母    B.数字    C.减号    D.下划线
2.printf函数中输出double数据,可以使用格式符是(    )。
    A%ld    B .%o    C.%x    D.%f
3.在程序中使用strcmp函数,需要包含的头文件是(    )。
    Amath.h    B.stdio.h    C.stdlib.h    D.string.h
4.下列叙述中错误的是(    )。
    A.C语言程序中注释行末尾不必加分号
    B.C语言程序中的注释必须单独一行
    C.一个C语言程序中可以包含多个函数
    D.一个C语言程序中必须有一个名为main的函数
5.有变量定义如下:
    double x=12. 8;
    int a;
    则下列赋值语句中,错误的是(    )。
    A. a=++x:    B. a=x;    C.a=sizeof(x);    D. a=x%3;
6.有变量定义如下:
    double x=23. 4567;   
    要输出变量X的值,并保留两位小数,正确的语句是(    )。
    A. printf("%.2f"x);        B. printf ("%f. 2" , x):
    C. printf("%.2d"x);        D. printf ("%d. 2" , x)
7.有如下程序段.下列选项中正确的是(    )。
    int k:
    if(k=0)
    printf("Y") ;
    else
    printf("N") ;
    A.执行时输出结果为Y    B.执行时结果不确定
    C.执行时输出结果为N    D.有语法错误,编译出错
8.执行下列程序段后变量ab的值分别是(    )。
    int a=3b=5c;
    c=(a>--b)?a++:b--;   
    A. 3 2    B. 3 3    C. 1 1    D. 4 5
9. int x=10;
    x+=x%=(-6)+4;执行上述语句x的值为(    )。
    A. 0    B. 10    C 16    D. 18
10.下列程序段中,循环体执行的次数是(    )。
    int x=-1;
    do
    {x=x+x;}while(x==0);   
    A.0    B.1    C. 2    D.超过两次
11.p=5!,正确的代码段是(    )。   
    A.int p=1,i=1;        B.int p=1, i=1;
    while(i<=5)        while (i<=5)
    p=p*i        p=p*i;i++;
    C.int p=1,i=1;        D.int p=1, i=1;   
    for(i=5;i>=1;i--)        for(i=5;i>=1;i++)
    p=p*i        p=p*i
12.下列语句中,只能在循环结构的循环体中使用的是(    )。
    A. break语句        B. continue语句
    C. goto语句        D. return语句
13.下列选项中,能正确定义数组a,并为其赋初值的是(    )。
    A. int a[ ]="012345";        B.int a[ ]={0,1,2,3,4,5);
    C. int a[5]="012345";        D.int a[5]={0,1,2,3,4,5};
14.在声明数组int a[5][6];后,按照数组在内存中的存放顺序,数组a的第10个元素是(    )。
    A. a[1][3]    B. a[1][5]    C. a[2][4]    D. a[2][5]
15.下列程序段中,有语法错误的是(    )。       
    A. char *str; str="abc";        B. char str[3]={'a','b','c'};
    C. char str1[5]; str1="abc";    D. char str1[]="abc", *str2="12345";
16.有如下定义语句:       
    char s[20]="abc",t[20]="1234";       
    则能够正确的经字符串t连接到字符串s末尾的选项是(    )。
    A. strcmp( s, t)        B. strcmp( t, s)
    C. strcat( s , t )        D. strcat( t, s)
17.定义一个指针变量p,一个完整的c语言程序并使其指向double型变量 x,正确的是(    )。
    A. double x, p=&x;        B. double x *p=&x;
    C. double x ,*p; *p=x:        D. double x,*p; *p=&x;
18.有如下函数定义,则函数 fun ()的返回值类型为(    )。
double fun()
{ int  k=2:
char ch='a';
return (float)(ch*k);
}
    A. char    B. int    C. float    D. double
19.用如下话句定义一个结构体类型,要声明该数据类型的变量t,正确的语句是(    )。
    struct XY{ int x; double y;}ABC;
    A. XY t;        B. struct t;
    C. ABC t;        D. struct XY t;
20.有如下数组定义语句,则strlen(s)的值是(    )。
    char s[10]=*a\ntest*;
    A. 6    B. 7    C. 8    D. 10
二、程序阅读题(本大题共5小题,每小题6分,共30分。)
1.
    #include <stdio. h>
    int m[3][3]={{1}, {2}, {3}};
    int n[3] [3]={1,2,3};
    main()
    {printf("%d\n", m[1][0]+n[0][0]);
        printf("%d\n", m[0][1]+n[1][0]);
    }
 
2.
    #include <stdio. h>
    int x=1:
    main()
    { void func(int x);
        func(x):
        printf("%d\n", x);
    }
    void func(int x)
    { x=3; }
3.
    #include <stdio. h>
    #include <string. h>
    main()
    { char str[100]="How do you do";
        strcpy(str+strlen(str)/2, "es she");

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。