蓝莓题库

尔雅c语言程序设计(2020年春季)-k8凯发

欢迎来访!

k8凯发-凯发官网入口初级会计问答 正文

作者2023-10-23 00:02:51初级会计问答 78 ℃0 评论
1.2程序设计语言

1、【单选题】能把高级语言源程序变成机器可执行的程序或目标程序的方法有( )。
    a、汇编和计算
    b、解释和汇编
    c、解释和编译
    d、解释和连接

2、【单选题】程序语言按其与计算机硬件系统接近的程度可分为机器语言、( )语言和高级语言。
    a、指令描述
    b、basic语言
    c、汇编
    d、编译

3、【单选题】在计算机系统中,可直接执行的程序是( )。
    a、源代码
    b、汇编语言代码
    c、机器语言代码
    d、ascii码

1.4算法基础

1、【单选题】下列不属于算法的基本特性的是()
    a、有穷性
    b、确定性
    c、可行性
    d、复杂性

2、【单选题】一个算法一般都可以用顺序结构、()、循环结构三种基本控制结构组合而成
    a、逻辑结构
    b、分支结构
    c、对比结构
    d、基本结构

3、【单选题】描述算法的方法有()
    a、自然语言
    b、流程图
    c、伪代码
    d、以上都是

1.5初始c语言程序

1、【单选题】一个c语言程序总是从( )开始执行
    a、主过程
    b、主函数
    c、子程序
    d、主程序

2、【单选题】c语言规定,在一个源程序中,main函数的位置( )
    a、必须在最开始
    b、必须在系统调用的库函数的后面
    c、可以任意
    d、必须在最后

3、【单选题】以下叙述不正确的是
    a、一个c源程序可由一个或多个函数组成
    b、一个c源程序必须包含一个main函数
    c、c程序的基本组成单位是函数
    d、在c程序中,注释说明只能位于一条语句的后面

1.7c语言程序的开发环境

1、【单选题】以下叙述中错误的是
    a、c语言源程序经编译后生成后缀为.obj的目标程序
    b、c程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件
    c、用c语言编写的程序称为源程序,它以ascii代码形式存放在一个文本文件中
    d、c语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令

2、【单选题】以下叙述中错误的是
    a、c语言的可执行程序是由一系列机器指令构成的
    b、用c语言编写的源程序不能直接在计算机上运行
    c、通过编译得到的二进制目标程序需要连接才可以运行
    d、在没有安装c语言集成开发环境的机器上不能运行c源程序生成的.exe文件

7.2一维数组的定义

1、【单选题】在c语言中,一维数组的定义方式为:类型说明符 数组名( )。
    a、[常量表达式]
    b、[整型表达式]
    c、[整型常量]或[整型表达式]
    d、[整型常量]

2、【单选题】以下对一维整型数组a的正确说明是
    a、int a(10);
    b、int n=10,a[n];
    c、int n; scanf("%d",&n); int a[n];
    d、#define size 10 (换行) int a[size];

7.3一维数组的引用及初始化

1、【单选题】若有说明:int a[10];,则对a数组元素的正确引用是( )。
    a、a[10]
    b、a[3.5]
    c、a(5)
    d、a[10-10]

2、【单选题】对以下说明语句的正确理解是__________ 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、因为数组长度与初值的个数不相同,所以此语句不正确

7.8二维数组的定义与引用

1、【单选题】已知int a[][3]={1,2,3,4,5,6,7};,则数组a的第一维的大小是( )。
    a、2
    b、3
    c、4
    d、无确定值

2、【单选题】若有说明:int a[3][4];,则对a数组元素的非法引用是( )。
    a、a[0][2*1]
    b、a[1][3]
    c、a[4-2][0]
    d、a[0][4]

3、【单选题】以下对二维数组a的正确定义是
    a、int a[3][]
    b、float a(3,4)
    c、double a[1][4]
    d、float a(3)(4)

4、【单选题】以下不能对二维数组a进行正确初始化的语句是
    a、int a[2][3]=;
    b、int a[][3]={{1,2},};
    c、int a[2][3]={{1,2},{3,4},{5,6}};
    d、int a[][3]={1,2,3,4,5,6};

7.9二维数组的应用

1、【单选题】以下程序的输出结果是 #include int main(void) { int i, x[3][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i ) printf("%d,",x[i][2-i]); return 0; }
    a、1,5,9
    b、1,4,7
    c、3,5,7,
    d、3,6,9

2、【单选题】以下程序的输出结果是 #include int main(void) { int a[3][3]={ {1,2},{3,4},{5,6} },i,j,s=0; for(i=1;i<3;i ) for(j=0;j<=i;j ) s =a[i][j]; printf("%d",s); return 0; }
    a、18
    b、19
    c、20
    d、21

7.10字符数组

1、【单选题】以下程序的输出结果是 #include int main(void) { char ch[3][4]={"123","456","78"}; int i; for(i=0;i<3;i ) printf("%s",ch[i]); return 0; }
    a、123456780
    b、123 456 780
    c、12345678
    d、147

2、【单选题】设有数组定义:char array[]=”china”;,则数组array所占的空间为( )。
    a、4个字节
    b、5个字节
    c、6个字节
    d、7个字节

3、【单选题】执行下列程序时输入:123<空格>456<空格>789<回车>,输出结果是 #include void main() { char s[100]; int c, i; scanf("%c",&c); scanf("%d",&i); scanf("%s",s); printf("%c,%d,%s \n",c,i,s); }
    a、123,456,789
    b、1,456,789
    c、1,23,456,789
    d、1,23,456

7.11字符串常用函数

1、【单选题】有以下程序: #include #include void main() { char a[10]="abcd"; printf("%d,%d\n",strlen(a),sizeof(a)); } 程序运行后的输出结果是( )
    a、7,4
    b、4,10
    c、8,8
    d、10,10

2、【单选题】当执行下面的程序时,如果输入abc,则输出结果是( )。 #include #include int main(void) { char ss[10]=”1,2,3,4,5”; gets(ss);strcat(ss,”6789”); printf(”%s\n”,ss); return 0; }
    a、abc6789
    b、abc67
    c、12345abc6
    d、abca56789

3、【单选题】判断字符串sl是否大于字符串s2,应当使用( )。
    a、if(sl>s2)
    b、if(strcmp(sl,s2))
    c、if(strcmp(s2,s1)<0)
    d、if(strcmp(sl,s2)>0)

8.2指针变量的定义

1、【单选题】以下定义语句中正确的是
    a、int a=b=0;
    b、char a=65 1,b=′b′;
    c、float a=1,*b=&a,*c=&b;
    d、double a=0.0;b=1.1;

2、【单选题】变量的指针,其含义是指该变量的
    a、值
    b、地址
    c、名
    d、一个标志

8.3 指针变量的赋值与运算

1、【单选题】有如下程序段 int *p,a=10,b=1 p=&a; a=*p b; 执行该程序段后,a的值为
    a、12
    b、11
    c、10
    d、编译出错

2、【单选题】对于基类型相同的两个指针变量之间,不能进行的运算是
    a、<
    b、=
    c、
    d、-

3、【单选题】若有说明语句:int a,b,c,* d=&c;,则能正确从键盘读入3个整数分别赋给变量a、b、c的语句是()
    a、scanf(”%d%d%d”,&a,&b,d);
    b、scanf(”%d%d%d”,&a,&b,&d);
    c、scanf(”%d%d%d”,a,b,d);
    d、scanf(”%d%d%d”,a,b,*d);

8.4指针作为函数的参数

1、【单选题】下列程序的运行结果是 void fun(int *a, int *b) { int *k; k=a; a=b; b=k; } int main(void) { int a=3, b=6, *x=&a, *y=&b; fun(x,y); printf("%d %d", a, b); return 0; }
    a、6 3
    b、3 6
    c、编译出错
    d、0 0

2、【单选题】下面程序应能对两个整型变量的值进行交换。以下正确的说法是 int main(void) {int a=10,b=20; printf("(1)a=%d,b=%dn",a,b); swap(&a,&b); printf("(2)a=%d,b=%dn",a,b);} void swap(int p,int q) {int t; t=p;p=q;q=t;}
    a、该程序完全正确
    b、该程序有错,只要将语句swap(&a,&b);中的参数改为a,b即可
    c、该程序有错,只要将swap()函数中的形参p和q以及t均定义为指针(执行语句不变)即可
    d、以上说法都不对

3、【单选题】有以下程序 #include void fun(char*c,int d) { *c=*c 1;d=d 1; printf("%c,%c,",*c,d); } int main(void) { char b='a',a='a'; fun(&b,a); printf("%c,%c\n",b,a); return 0; } 程序运行后的输出结果是
    a、b,b,b,a
    b、b,b,b,a
    c、a,b,b,a
    d、a,b,a,b

8.5指针与一维数组

1、【单选题】下面程序的输出结果是 main() { int a[ ]={1,2,3,4,5,6,7,8,9,0,},*p; p=a; printf("%d\n",*p 9); }
    a、0
    b、1
    c、10
    d、9

2、【单选题】设有以下语句,则( )不是对a数组元素的正确引用,其中0≤i<10。 int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;
    a、a[p-a]
    b、*(&a[i])
    c、p[i]
    d、*(*(a i))

8.6指针与字符数组

1、【单选题】下面程序段的运行结果是 char str[]="abc",*p=str; printf("%d\n",*(p 3));
    a、67
    b、0
    c、字符'c'的地址
    d、字符'c'

2、【单选题】若有下面的程序段: char s[]="china";char *p; p=s; 则下列叙述正确的是
    a、s和p完全相同
    b、数组s中的内容和指针变量p中的内容相等
    c、s数组长度和p所指向的字符串长度相等
    d、*p与s[0]相等

8.8指针作为函数返回值

1、【单选题】在说明语句:int *f();中,标识符f代表的是( )。
    a、一个用于指向整型数据的指针变量
    b、一个用于指向一维数组的行指针
    c、一个用于指向函数的指针变量
    d、一个返回值为指针型的函数名

8.9指向函数的指针

1、【单选题】说明语句int *(*p)();的含义是( )。
    a、p是一个指向int型数组的指针
    b、p是指针变量,它构成了指针数组
    c、p是一个指向函数的指针,该函数的返回值是一个整型
    d、p是一个指向函数的指针,该函数的返回值是一个指向整型的指针

8.10指针数组

1、【单选题】以下程序的输出结果是 int main(void ) { char ch[3][4]={"123","456","78"}, *p[3]; int i; for(i=0;i<3;i ) p[i]=ch[i]; for(i=0;i<3;i ) printf("%s",p[i]); return 0; }
    a、123456780
    b、123 456 780
    c、12345678
    d、147

2、【单选题】与int *p[4];定义等价的是( )。
    a、int p[4]
    b、int *p
    c、int *(p[4])
    d、int(*p)[4]

9.2结构体的定义

1、【单选题】当说明一个结构体变量时系统分配给它的内存是
    a、各成员所需内存量的总和
    b、结构中第一个成员所需内存量
    c、成员中占内存量最大者所需的容量
    d、结构中最后一个成员所需内存量

2、【单选题】设有以下说明语句 struct stu {int a; float b;}stutype; 则下面的叙述不正确的是
    a、struct是结构体类型的关键字
    b、struct stu是用户定义的结构体类型
    c、stutype是用户定义的结构体类型名
    d、a和b都是结构体成员名

3、【单选题】设有以下说明语句 struct ex { int x ; float y; char z ;} example; 则下面的叙述中不正确的是
    a、struct结构体类型的关键字
    b、example是结构体类型名
    c、x,y,z都是结构体成员名
    d、struct ex是结构体类型

9.3结构体的应用

1、【单选题】根据下面的定义,能打印出字母 m 的语句是 struct person {char name[9]; int age;}; struct person class[10]={"john",17, "paul",19, "mary",18, "adam",16};
    a、printf("%c\n",class[3].name);
    b、printf("%c\n",class[3].name[1]);
    c、printf("%c\n",class[2].name[1]);
    d、printf("%c\n",class[2].name[0]);

2、【单选题】设有如下定义 struct ss { char name[10]; int age; char sex; }std[3],*p=std; 下面各输入语句中错误的是
    a、scanf("%d",&(*p).age);
    b、scanf("%s",&std.name);
    c、scanf("%c",&std[0].sex)
    d、scanf("%c",&(p->sex));

3、【单选题】设有如下定义: struck sk { int a; float b; }data; int *p; 若要使p指向data中的a域,正确的赋值语句是
    a、p=&a;
    b、p=data.a;
    c、p=&data.a;
    d、*p=data.a;

4、【单选题】下列程序的输出结果是 struct abc { int a, b, c; }; int main(void) { struct abc s[2]={{1,2,3},{4,5,6}}; int t; t=s[0].a s[1].b; printf("%d \n",t); return 0; }
    a、5
    b、6
    c、7
    d、8

5、【单选题】有以下程序 typedef struct{int b,p;}a; void f(a c) /*注意:c是结构变量名 */ {int j; c.b =1; c.p =2;} int main(void) {int i; a a={1,2}; f(a); printf(“%d,%d\n”,a.b,a.p); return 0; } 程序运行后的输出结果是( )
    a、2,3
    b、2,4
    c、1,4
    d、1,2

9.4链表

1、【单选题】有以下结构体说明和变量的定义,且如下图所示指针p指向变量a,指针q指向变量b。则不能把结点b连接到结点a之后的语句是 #include struct node { char data; struct node *next; }a,b,*p=&a,*q=&b;
    a、a.next=q;
    b、p.next=&b
    c、p->next=&b;
    d、(*p).next=q;

2、【单选题】有以下程序段 typedef struct node { int data; struct node *next; } *node; node p; 以下叙述正确的是( )
    a、p是指向struct node结构变量的指针的指针
    b、node p;语句出错
    c、p是指向struct node结构变量的指针
    d、p是struct node结构变量

9.5共用体

1、【单选题】在32位系统中,变量a所占内存字节数是 union u { char st[4]; int i; long l; }; struct a { int c; union u u; }a;
    a、4
    b、12
    c、6
    d、8

2、【单选题】若有如下定义: union aa {int n;char c[9];float x;}a,b,c; 则下列叙述中不正确的是( )
    a、union aa是定义的共用体类型
    b、a,b,c 是定义的共用体类型名
    c、n、c[9]和x是共用体的成员名
    d、a,b,c 是定义的共用体变量名

3、【单选题】有以下程序 int main(void) { union { unsigned int n; unsigned char c; }u1; ul.c='a'; printf("%c\n",u1.n); return 0; } 执行后输出结果是
    a、产生语法错
    b、随机值
    c、a
    d、0

10.1文件引入

1、【单选题】系统的标准输入文件是指
    a、键盘
    b、显示器
    c、软盘
    d、硬盘

10.2文本文件与二进制文件

1、【单选题】下列关于c语言数据文件的叙述中正确的是
    a、文件由ascii码字符序列组成,c语言只能读写文本文件
    b、文件由二进制数据序列组成,c语言只能读写二进制文件
    c、文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件
    d、文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件

10.4文件的打开与关闭

1、【单选题】以下可作为函数fopen中第一个参数的正确格式是
    a、c:user\text.txt
    b、c:\user\text.txt
    c、"c:\user\text.txt"
    d、"c:\\user\\text.txt"

2、【单选题】若执行fopen函数时发生错误,则函数的返回值是
    a、地址值
    b、0
    c、1
    d、eof

3、【单选题】若以“a ”方式打开一个已存在的文件,则以下叙述正确的是
    a、文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可作添加和读操作
    b、文件打开时,原有文件内容不被删除,位置指针移到文件开头,可作重写和读操作
    c、文件打开时,原有文件内容被删除,只可作写操作
    d、以上各种说法皆不正确

10.5字符、字符串文件读写函数

1、【单选题】fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是
    a、只写
    b、追加
    c、读或读写
    d、答案b和c都正确

2、【单选题】有以下程序 #include "stdio.h" void writestr(char *fn,char *str) { file *fp; fp=fopen(fn,"w"); fputs(str,fp); fclose(fp); } int main(void) { writestr("t1.dat","start"); writestr("t1.dat","end"); return 0; } 程序运行后,文件t1.dat中的内容是_____。
    a、start
    b、end
    c、startend
    d、endrt

3、【单选题】若调用fputc函数输出字符成功,则其返回值是
    a、eof
    b、1 4
    c、0
    d、输出的字符

10.6格式化文件读写函数

1、【单选题】fscanf函数的正确调用形式是
    a、fscanf(fp,格式字符串,输出表列);
    b、fscanf(格式字符串,输出表列,fp);
    c、fscanf(格式字符串,文件指针,输出表列);
    d、fscanf(文件指针,格式字符串,输入表列);

2、【单选题】有如下程序 #include "stdio.h" int main(void) {file *fp1; fp1=fopen("f1.txt","w"); fprintf(fp1,"abc"); fclose(fp1); return 0;} 若文本文件f1.txt中原有内容为:good,则运行以上程序后文件f1.txt中的内容为
    a、goodabc
    b、abcd
    c、abc
    d、abcgood

3、【单选题】有以下程序 #include "stdio.h" int main(void) { file *fp; int i, k, n; fp=fopen("data.dat", "w "); for(i=1; i<6; i ) { fprintf(fp,"%d ",i); if(i%3==0) fprintf(fp,"\n"); } rewind(fp); fscanf(fp, "%d%d", &k, &n); printf("%d %d\n", k, n); fclose(fp); return 0;} 程序运行后的输出结果是
    a、0 0
    b、123 45
    c、1 4
    d、1 2

10.7数据块读写函数

1、【单选题】已知函数的调用形式:fread(buffer,size,count,fp);其中buffer代表的是
    a、一个整数,代表要读入的数据项总数
    b、一个文件指针,指向要读的文件
    c、一个指针,指向要读入数据的存放地址
    d、一个存储区,存放要读的数据项

2、【单选题】fwrite函数的一般调用形式是
    a、fwrite(buffer,count,size,fp);
    b、fwrite(buffer,size,count,fp);
    c、fwrite(fp,count,size,fp);
    d、fwrite(fp,count,size,buffer);

3、【单选题】fseek函数的正确调用形式是
    a、fseek(文件类型指针,起始点,位移量)
    b、fseek(fp,位移量,起始点)
    c、fseek(位移量,起始点,fp)
    d、fseek(起始点,位移量,文件类型指针)

猜你喜欢

网站分类
最新发表
标签列表
网站地图