随机组卷按大纲配比:判断 8 · 单选 20 · 填空 10 · 综合 2(共 40 题 · 80 分)
- 单选下面有关 for 循环的正确描述是()。做这题 →
- 单选下列关于字符数组的描述中错误的是( )。做这题 →
- 单选以下关于函数声明的叙述中正确的是()。做这题 →
- 单选C语言的if语句嵌套时,if与else的配对关系是()。做这题 →
- 单选C语言的switch语句中case后( )。做这题 →
- 单选若用数组名作为函数的实参,传递给形参的是( )。做这题 →
- 单选以下函数调用语句中实参的个数是()_{n} func((e1,e2),(e3,e4,e5));做这题 →
- 单选C 语言中不可以嵌套的是()。做这题 →
- 填空设变量定义为“int a, b;”,执行下列语句时,输入____,则 a 和 b 的值都是 10。 scanf("a=%d,b=%d", &a, &b);做这题 →
- 单选若给定条件表达式(M)?(a++):(a--),则其中表达式 M( )。做这题 →
- 单选以下标识符中,不能作为合法的 C 用户定义标识符的是( )。做这题 →
- 单选C 语言中函数调用的方式有( )。做这题 →
- 单选数组名作为实参数传递给函数时,数组名被处理为( )。做这题 →
- 单选C 语言程序中必须有的函数是()。 |做这题 →
- 单选以下函数调用语句中实参的个数是() func((e1,e2),(e3,e4,e5));做这题 →
- 单选( A )是构成C语言程序的基本单位。做这题 →
- 单选C语言程序从_____________ 开始执行。做这题 →
- 单选以下说法中正确的是( C )。做这题 →
- 单选下列四组字符串中都可以用作C语言程序中的标识符的是( A )。做这题 →
- 单选在C语言程序中,表达式5%2的结果是_____。做这题 →
- 单选如果 int a=3, b=4: 则条件表达式 "a<b?a:b" 的值是 ( ).做这题 →
- 单选以下能对一维数组a进行初始化的语句是:做这题 →
- 单选在C语言中对一维整型数组的正确定义为 ______。做这题 →
- 单选若有以下数组说明,则i=10;a[a[i]]元素数值是(C )。 int a[12]={1,4,7,10,2,5,8,11,3,6,9,12};做这题 →
- 单选若有说明:int a[][3]={{1,2,3},{4,5},{6,7}}; 则数组a的第一维的大小为:做这题 →
- 单选已知int a[3][4];则对数组元素引用正确的是_____做这题 →
- 单选C语言中函数返回值的类型是由________ 决定的.做这题 →
- 单选在C语言中,函数的数据类型是指做这题 →
- 单选在函数调用时,以下说法正确的是( )做这题 →
- 单选在C语言中,表示静态存储类别的关键字是:做这题 →
- 单选未指定存储类别的变量,其隐含的存储类别为( A )。做这题 →
- 单选若有以下说明语句: struct student { int num; char name[ ]; float score; }stu; 则下面的叙述不正确的是:做这题 →
- 单选语句int *p;说明了______。做这题 →
- 单选在C语言中,以 ____ 作为字符串结束标志做这题 →
- 单选下列数据中属于“字符串常量”的是( A )。做这题 →
- 单选已知char x[]="hello", y[]={'h','e','a','b','e'};, 则关于两个数组长度的正确描述是___B .做这题 →
- 综合#include main ( ) { float c=3.0 , d=4.0; if ( c>d ) c=5.0; else if ( c==d ) c=6.0; else c=7.0; printf ( “%.1f\n”,c ) ; } 运行结果为:7.0 此题为if...else...语句的嵌套,第二if...else...作为第一个if...else...语句else部分的复合语句。 若表达式c>d成立,则执行c=5.0; 否则(表达式c>d不成立) 若表达式c==d成立,则执行c=6.0; 否则,执行c=7.0; 输出c中的值做这题 →
- 综合#include <stdio.h> int m=4; int func(int x,int y) { int m=1; return(x*y-m); } main() {int a=2,b=3; printf("%d\n",m); printf("%d\n",func(a,b)/m); } 运行结果为: 整型变量m在函数外定义,因此m为全局变量,其作用于范围为其定义位置开始,一直到整个程序结束。因此func与main函数都可以访问m 程序首先执行main函数 执行printf("%d\n",m); 即输出m中的值4,并换行。 执行printf("%d\n",func(a,b)/m);即输出表达式func(a,b)/m的值,为了计算该表达式, 需要调用函数func。此时main将a,b中的2和3值作为实参传递给func的x和y 程序开始转向执行func函数,此时func中的x为2,y为3 执行int m=1; 此句定义了一个局部变量m并赋值为1 。m的作用域为其所在的复合 语句,即func的函数体,因此在func的函数体重,有限访问局部变量m。 执行return(x*y-m); 即return(2*3-1) ;返回的是整数5. func函数返回至main函数中的被调用处 main函数中func(a,b)的值为5,func(a,b)/m=5/4=1,注意,在main函数中访问的m为全局变量m,此时main函数无法访问func中的m,因为不在func中m的作用域。做这题 →
- 综合include <stdio.h> int max(int x, int y); main() { int a,b,c; a=7;b=8; c=max(a,b); printf("Max is %d",c); } max(int x, int y) { int z; z=x>y? x : y; return(z) ; } 运行结果为: Max is 8做这题 →
- 综合# include main ( ) { int x[ ] = {10, 20, 30, 40, 50 }; int *p ; p=x; printf ( “%d”, *(p+2 ) ); } 运行结果为: 首先定义一个整型数组x,x的长度为5;然后定义一个指针变量p;对p进行初始化,将数组x的地址赋给p。因此此时p中存放的数组x的首地址,即数组中第一个元素x[0]的地址。 然后执行printf语句,输出表达式*(p+2)的值。p+2表示以p当前指向的位置起始,之后第2个元素的地址,即a[2]的地址。*(p+2)则表示该地址内所存放的内容,即a[2]的值30,因此输出30做这题 →
- 综合#include <stdio.h> main( ) { char s[]=”abcdefg”; char *p; p=s; printf(“ch=%c\n”,*(p+5)); } 运行结果为: ch=f 首先定义一个字符型数组s,并用字符串abcdefg对s进行初始化; 然后定义一个字符型指针变量p; 对p进行初始化,将数组s的地址赋给p。因此此时p中存放的数组s的首地址,即数组中第一个元素s[0]的地址。 然后执行printf语句,输出表达式*(p+5)的值。p+5表示以p当前指向的位置起始,之后第5个元素的地址,即a[5]的地址。*(p+5)则表示该地址内所存放的内容,即a[5]的值f, 因此输出ch=f做这题 →
- 综合#include<stdio.h> main ( ) { int a[]={1, 2, 3, 4, 5} ; int x, y, *p; p=a; x=*(p+2); printf("%d:%d \n", *p, x); } 运行结果为: 1:3 首先定义一个整型数组a,并对a进行初始化; 然后定义整型变量x,y,整型指针变量p; 再将数组a的地址赋给p。因此此时p中存放的数组a的首地址,即数组中第一个元素a[0]的地址。执行x=*(p+2);p+2表示以p当前所指向的位置起始,之后第2个元素的地址,即a[2]的地址。*(p+2)则表示该地址内所存放的内容,即a[2]的值3,然后再把3赋给x 然后执行printf语句,先输出表达式*p的值。此时*p表示的是p所指向变量的内容,即a[0]的值1。再输出一个冒号。然后再输出x中的值3。做这题 →
- 综合#include<stdio.h> main() { int arr[ ]={30,25,20,15,10,5}, *p=arr; p++; printf(“%d\n”,*(p+3)); } 运行结果为:10 首先定义一个整型数组arr,并对arr进行初始化; 然后定义整型指针变量p; 再将数组arr的地址赋给p。因此此时p中存放的数组arr的首地址,即数组中第一个元素a[0]的地址。 执行p++,即p=p+1。p+1表示以p当前所指向的位置起始,之后第1个元素的地址,即arr[1]的地址,然后再将arr[1]的地址赋给p,执行完此语句后,p不再指向arr[0],而是指向arr[1]。 然后执行printf语句,输出表达式*(p+3)的值。p+3表示以p当前指向的位置起始(此时p指向arr[1]),之后第3个元素的地址,即arr[4]的地址。*(p+3)则表示该地址内所存放的内容,即arr[4]的值10, 因此输出10做这题 →
- 综合#include <stdio.h> main( ) { int a[ ]={1, 2, 3, 4, 5, 6}; int x, y, *p; p = &a[0]; x = *(p+2); y = *(p+4); printf(“*p=%d, x=%d, y=%d\n”, *p, x, y); } 运行结果为: *p=1, x=3, y=5 首先定义一个整型数组a,并对a进行初始化; 然后定义整型变量x,y,整型指针变量p; 再将数组元素a[0]的地址赋给p。 执行x=*(p+2);p+2表示以p当前所指向的位置起始,之后第2个元素的地址,即a[2]的地址。*(p+2)则表示该地址内所存放的内容,即a[2]的值3,然后再把3赋给x 执行y = *(p+4); p+4表示以p当前所指向的位置起始,之后第4个元素的地址,即a[4]的地址。*(p+4)则表示该地址内所存放的内容,即a[4]的值5,然后再把5赋给y 执行printf语句,先输出表达式*p的值。此时*p表示的是p所指向变量的内容,即a[0]的值1。再输x的值3。再输出y的值5。做这题 →
- 填空编程计算1+3+5…+99的值 main() { int i, sum = 0; i=1; while (____) { sum = sum + i; ____ ; } printf("sum=%d\n", sum); }做这题 →
- 单选在C语言中,下列标识符中合法的是( )做这题 →
- 单选不属于C语言基本数据类型的是( )做这题 →
- 单选下面是对宏定义的描述。不正确的是( )做这题 →
- 单选C语言中,″\\xfds″在内存中占用的字节数是( )做这题 →
- 单选设int x;则执行printf(″%x\n″,~x^x);的结果是( )做这题 →