高级语言程序设计基础_东大网院2020春

所属学校:中国石油大学(华东) 科目: 2020-03-17 17:18:37 东大 高级 语言程序设计 基础
高级语言程序设计基础_2020春_01
1.[单选题]C语言规定:简单变量做实参时,它和对应形参之间的数据传递方式是( )。
    A.地址传递
    B.单向值传递
    C.由实参传给形参,再由形参传回实参
    D.由用户指定传递方式
    正确答案:——B——
2.[单选题]设c1、c2均是char类型变量,则以下不正确的函数调用是( )。
    A.scanf("c1=%cc2=%c",&c1,&c2);
    B.getchar( )
    C.putchar(c2);
    D.putchar(c1,c2)"
    正确答案:——D——
3.[单选题]以下正确的函数说明是( )。
    A.int fun(int a, b)
    B.float fun(int a; int b)
    C.double fun( )
    D.int fun(char a[ ][ ])
    正确答案:——C——
4.[单选题]若执行下述程序时从键盘输入3 4,则输出结果是( )。#includemain( ){ int a,b,s;scanf("%d%d",&a,&b); s=a; if (a     A.186
    B.256
    C.324
    D.400
    正确答案:————
5.[单选题]已知intx=10,y=20,z=30;以下语句执行后x,y,z的值是( )。if(x>y)z=x;x=y;y=z;
    A.x=10,y=20,z=30
    B.x=20,y=30,z=30
    C.x=20,y=30,z=10
    D.x=20,y=30,z=20"
    正确答案:————
6.[单选题]下面程序段的输出结果是( )。int a=023;printf("%d\n",--a);
    A.23
    B.17
    C.18
    D.24
    正确答案:————
7.[单选题]若a为int类型变量,则执行以下程序段后a的值为( )。a=5;a*=a/=a++;
    A.2
    B.1
    C.40
    D.3
    正确答案:————
8.[单选题]若有定义:int a[2][3];,则以下对a数组元素地址的正确表示为( )。
    A.*(a+1)
    B.*(a[1]+2)
    C.a[1]+3
    D.a[0][0]
    正确答案:————
9.[单选题]若有说明:int a[3][4];则对a数组元素的非法引用是( )。
    A.a[0][2*1]
    B.a[1][3]
    C.a[4-2][0]
    D.a[0][4]
    正确答案:————
10.[单选题]系统的标准输入文件是指( )。
    A.键盘
    B.显示器
    C.软盘
    D.硬盘
    正确答案:————
11.[单选题]若用fopen打开一个新的二进制文件,要求文件既能读又能写,则应选用的文件方式字符串是( )。
    A."wb+
    B."r+"
    C."rb+"
    D."ab+""
    正确答案:————
12.[单选题]若有说明:int a[3][4];则对a数组元素的正确引用是( )。
    A.a[2][4]
    B.a[1,3]
    C.a[1+1][0]
    D.a(2)(1)
    正确答案:————
13.[单选题]设x、y均是int类型变量,且x值为100,则关于以下for循环的正确判断是( )。    for (y=100; x!=y; ++x,y++)      printf("****\n");
    A.循环体只执行一次
    B.是无限循环
    C.循环体一次都不执行
    D.for语句中存在语法错误
    正确答案:————
14.[单选题]若有说明:int a[][4]={0,0};则下面不正确的叙述是( )。
    A.数组a中的每个元素都可得到初值0
    B.二维数组a的第1维大小为1
    C.因为二维数组a中第二维大小的值除以初值个数的商为1,故数组a的行数为1
    D.只有数组元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0
    正确答案:————
15.[单选题]下程序( )。    main( )   { int x1=3, x2=0, x3=0;      if (x1=x2+x3)printf("* * * *"); else printf("# # # #");    }
    A.输出:* * * *
    B.输出:# # #
    C.#存在语法错误
    D.无输出结果
    正确答案:————
16.[单选题]下面程序( )。(每行程序前的数字为行号) 1 main{} 2 { 3 float a[10]={0.0}; 4 int i; 5 for(i=0;i<3;i++) scanf(%d",&a[i]); 6 for(i=1;i<10;i++) a[0]=a[0]+a[i]; 7 printf("%f\n",a[0]); 8 }
    A.没有错误
    B.第3行有错误
    C.第5行有错误
    D.第7行有错误
    正确答案:————
17.[单选题]C语言中字符型(char)数据在内存中的存储形式是( )。
    A.原码
    B.补码
    C.反码
    D.ASCII码
    正确答案:————
18.[单选题]下面程序的输出结果为( )。main( ){ int a=1,b=0;switch(a){ case 1: switch (b){ case 0: printf("**0**"); break;case 1: printf("**1**");break;}case 2: printf("**2**"); break;}}
    A.**0**
    B.**0****2**
    C.**0****1****2**
    D.有语法错误
    正确答案:————
19.[单选题]对以下说明语句的正确理解是( )。 int a[10]={6,7,8,9,10};
    A.将5个初值依次赋给a[1]至a[5]
    B.将5个初值依次赋给a[0]至a[4]
    C.将5个初值依次赋给a[6]至a[10]
    D.因为数组与初值的个数不相同,所以此语句不正确
    正确答案:————
20.[单选题]以下程序段中的do-while循环( )。    m=-1;    do     { m=m*m;     }while(!m);
    A.是死循环
    B.执行二次
    C.执行一次
    D.有语法错误
    正确答案:————


高级语言程序设计基础_2020春_02
1.[单选题]以下程序的运行结果是( )。  main( )  { int a=1, k;   for (k=0; k<3; k++)    printf("%4d", f1(a));  }  f1(int x)  { static int z=3, y=0;   y++;   z++;   return(x+y+z);  }
    A.6 8 10
    B.6 6 6
    C.7 8 9
    D.7 9 11
    正确答案:——A——
2.[单选题]以下不正确的定义语句是( )。
    A.double x[5]={2.0,4,0,6,0,8,0,10.0};
    B.int y[5]={0,1,3,5,7,9};
    C.char c1[]={'1','2','3','4','5'};
    D.char c2[]={'\x10','\xa','\x8'};"
    正确答案:——B——
3.[单选题]以下正确的描述是( )。
    A.定义函数时,形参的类型说明可以放在函数体内
    B.return后面的值不能为表达式
    C.如果函数值的类型与返回值类型不一致,以函数值类型为准
    D.如果实参与形参的类型不一致,以实参类型为准
    正确答案:——C——
4.[单选题]若有语句:int a=4, *p=&a;,下面均代表地址的一组选项是( )。
    A.a, p, &*a
    B.*&a, &a, *p
    C.&a, p, &*p
    D.*&p, *p, &a"
    正确答案:————
5.[单选题]以下能对一维数组a进行正确初始化的语句是( )。
    A.int a[10]=(0,0,0,0,0);
    B.int a[10]={ };
    C.int a[]={0};
    D.int a[10]=(10*1);
    正确答案:————
6.[单选题]以下正确的函数说明是( )。
    A.int fun(int a, b)
    B.float fun(int a; int b)
    C.double fun( )
    D.int fun(char a[ ][ ])
    正确答案:————
7.[单选题]以下对二维数组a的正确说明是( )。
    A.int a[3][];
    B.float a(3,4);
    C.double a[1][4]
    D.float a(3)(4);
    正确答案:————
8.[单选题]如果在一个函数中的复合语句中定义了一个变量,则以下正确的说法是( )。
    A.该变量只在该复合语句中有效
    B.该变量在该函数中有效
    C.该变量在本程序范围内有效
    D.该变量为非法变量
    正确答案:————
9.[单选题]设x、y均是int类型变量,且x值为100,则关于以下for循环的正确判断是( )。    for (y=100; x!=y; ++x,y++)      printf("****\n");
    A.循环体只执行一次
    B.是无限循环
    C.循环体一次都不执行
    D.for语句中存在语法错误
    正确答案:————
10.[单选题]若a、b、c均为int型变量,则执行以下程序段后的输出结果为( )。b=(a=10,a+5,c=10);printf("a=%d,b=%d,c=%d\n",a,b,c);c=(a=10,b=5,a+b);printf("a=%d,b=%d,c=%d\n",a,b,c);
    A.a=10,b=15,c=10a=10,b=5,c=10
    B.a=10,b=10,c=10a=10,b=5,c=10
    C.a=10,b=10,c=10a=10,b=5,c=15
    D.a=10,b=10,c=10a=10,b=5,c=5
    正确答案:————
11.[单选题]下面程序段的输出结果是( )。int a=023;printf("%d\n",--a);
    A.23
    B.17
    C.18
    D.24
    正确答案:————
12.[单选题]设c1、c2均是char类型变量,则以下不正确的函数调用是( )。
    A.scanf("c1=%cc2=%c",&c1,&c2);
    B.getchar( )
    C.putchar(c2);
    D.putchar(c1,c2)"
    正确答案:————
13.[单选题]若有定义:int i, x[3][4];,则不能将x[1][1]的值赋给变量i的语句是( )。
    A.i=x[1][1]
    B.i=*(*(x+1))
    C.i=*(*(x+1)+1)
    D.i=*(x[1]+1)
    正确答案:————
14.[单选题]以下能对二维数组a进行正确初始化的语句是( )。
    A.int a[2][]={{1,0,1},{5,2,3}};
    B.int a[][3]={{1,2,3},{4,5,6}};
    C.int a[2][4]={{1,2,3},{4,5},{6}};
    D.int a[][3]={{1,0,1},{},{1,1}};"
    正确答案:————
15.[单选题]若a为int类型变量,则执行以下程序段后a的值为( )。a=5;a*=a/=a++;
    A.2
    B.1
    C.40
    D.3
    正确答案:————
16.[单选题]C语言规定:简单变量做实参时,它和对应形参之间的数据传递方式是( )。
    A.地址传递
    B.单向值传递
    C.由实参传给形参,再由形参传回实参
    D.由用户指定传递方式
    正确答案:————
17.[单选题]在C语言中,错误的int类型的常数是( )。
    A.32768
    B.0
    C.37
    D.0xAF
    正确答案:————
18.[单选题]以下程序段中的do-while循环( )。    m=-1;    do     { m=m*m;     }while(!m);
    A.是死循环
    B.执行二次
    C.执行一次
    D.有语法错误
    正确答案:————
19.[单选题]若用fopen打开一个新的二进制文件,要求文件既能读又能写,则应选用的文件方式字符串是( )。
    A."wb+
    B."r+"
    C."rb+"
    D."ab+""
    正确答案:————
20.[单选题]对以下说明语句的正确理解是( )。 int a[10]={6,7,8,9,10};
    A.将5个初值依次赋给a[1]至a[5]
    B.将5个初值依次赋给a[0]至a[4]
    C.将5个初值依次赋给a[6]至a[10]
    D.因为数组与初值的个数不相同,所以此语句不正确

版权声明

声明:有的资源均来自网络转载,版权归原作者所有,如有侵犯到您的权益 请联系本站我们将配合处理!

分享: