moocC语言程序设计_5答案(慕课2023完整答案)

分类: 文学答案发布于:2024-06-02 13:16:43ė05705次浏览689条评论

moocC语言程序设计_5答案(慕课2023完整答案)

1.3浮点数的语言程应用

1、【单选题】若定义:int i=3.1;double j=2;,序设则表达式i+j的计答值是______。
A、案慕案4.0
B、课完4.1
C、整答5.0
D、语言程5.1

2、序设【单选题】设有定义int x;float y;double z;,计答则表达式x+z-y值的案慕案数据类型为______。
A、课完float
B、整答char
C、语言程int
D、序设double

3、计答【单选题】设有int a;float f=7.5;,则执行语句a=(int)f%3;后a的值是______。
A、0
B、1
C、2
D、3

4、【单选题】设有int a;,执行语句a='A'+1.6;后,则正确的叙述是______。
A、a的值是字符'C'
B、a的值是浮点型
C、C语言不允许字符型和浮点型相加
D、a的值是字符'A'的ASCII码值加上1

2.1简单if语句

1、【单选题】执行以下程序段后,输出结果是______。 int a=1; if (!a) printf("YES"); else printf("NO");
A、NO
B、YES
C、YESNO
D、提示运行错误

2、【单选题】语句if(!w);中的表达式!w等价于______。
A、w==1
B、w==0
C、w!=1
D、w!=0

2.2三个数排序

1、【单选题】已知int x=5;,执行语句if (x) x=1; else x=6;后,x的值是______。
A、1
B、5
C、6
D、0

2、【单选题】已知:int x,y,t;,则语句:t=x,x=y,y=t;的功能是______。
A、将x和y按从大到小排列
B、将x和y按从小到大排列
C、交换x和y的值
D、语法错误

2.3多分支、嵌套

1、【单选题】以下关于switch语句和break语句的描述中,正确的是______。
A、在switch语句中必须使用break语句
B、break语句中只能用于switch语句中
C、在switch语句中,可根据需要用或不用break语句
D、switch语句中不能使用break语句

2、【单选题】设有定义:int a=3,b=5;,与表达式a<b&&b>0的值相等的表达式是______。
A、a&&b
B、a<b&&b<0
C、a>b&&b>0
D、!(a<=5||b>=3)

3.1while循环及应用

1、【单选题】已知:int x=0,y=10;while(x<y) { x++;y--;},则该循环_______。
A、是无限循环
B、执行次数不定
C、执行6次
D、执行5次

2、【单选题】设有定义:int i=0,s=0;,则循环语句while(s<20) { i++; s+=i;}中循环体执行的次数是______。
A、4
B、5
C、6
D、7

3.2do while循环及应用

1、【单选题】以下程序段的输出结果是_______。 int s=1,i=2; do { s=s*i;i++;}while(i<=5); printf("%d\n",s);
A、6
B、120
C、240
D、2

2、【单选题】有如下程序段 int x=4; do { printf("%d",x); x=x-2; }while(x>=0); 该程序段的输出结果是______。
A、420
B、42
C、20
D、2

3.3for循环及应用

1、【单选题】设n为整型变量,执行语句for(n=1;n++<4;);后,变量n的值是______。
A、3
B、4
C、5
D、6

2、【单选题】若有int n;,则执行语句for(n=0;n++<3;);后,变量n的值是______。
A、3
B、4
C、5
D、0

3.4循环嵌套的应用

1、【单选题】循环体至少执行一次的循环是______。
A、for循环
B、while循环
C、do...while循环
D、任一种循环

2、【单选题】有如下程序段: int a=10,y=0; for(;a<14;) { a=a+2; y=y+a; if(y>50) break; } printf("%d\n",y); 输出结果是_______。
A、26
B、28
C、30
D、25

4.1模块化编程

1、【单选题】在C语言程序中,若对函数类型未加说明,则函数的隐含类型为______。
A、int
B、double
C、void
D、char

2、【单选题】函数的形式参数的作用域是______。
A、本函数的全部范围
B、本程序的全部范围
C、本文件的全部范围
D、从定义开始至本文件结束

4.2函数的嵌套调用与递归调用

1、【单选题】用户自定义的函数______。
A、必须要有形参
B、可以嵌套调用
C、可以调用main()主函数
D、定义的位置一定位于调用位置的前面

2、【单选题】关于函数的说法正确的是______。
A、函数可以嵌套定义,但不可以嵌套调用
B、函数不可以嵌套定义,但可以嵌套调用
C、函数的定义和函数的调用均不可以嵌套
D、函数的定义和函数的调用均可以嵌套

4.3C语言中的变量与作用域

1、【单选题】一个C程序函数中定义的局部变量的生存期是______。
A、程序运行开始到程序运行结束
B、调用函数开始到调用结束
C、与其存储类型有关
D、与其作用范围有关

2、【单选题】以下关于函数地址传递叙述不正确的是______。
A、函数地址传递是将数据的存储地址作为实参传递给形参
B、函数地址传递方式的形参类型必须是指针变量或数组名
C、函数地址传递方式的实参类型只能是变量地址、数组名或指针变量
D、函数地址传递方式的实参和形参不能指向同一个内存单元地址

5.1一维数组及应用

1、【单选题】以下选项中关于数组定义和初始化,错误的是______。
A、double x[6]={ 1,2,3,4,5,6};
B、double x[6]={ 1,2,3};
C、double x[6]={ 1,2,3,4,5,6,7};
D、double x[6]={ 1,2,3,4,5};

2、【单选题】若有int a[3];,则对a数组元素非法引用的是______。
A、a[3]
B、a[2]
C、a[1]
D、a[0]

5.2二维数组

1、【单选题】已知int a[3][2]={ 1,2,3,4,5,6};,则a[1][1]的值是______。
A、4
B、5
C、3
D、2

2、【单选题】若有int a[][3]={ 1,2,3,4,5,6};,则数组元素a[1][0]的值是______。
A、1
B、2
C、4
D、5

5.3一维数组排序

1、【填空题】常见的一维数组的排序方法有选择排序和_______排序 <br/> 法。

5.4字符数组与字符串

1、【单选题】已知char s[6]={ '1','2','3','','4',''}; ,则printf("%s",s)的输出结果是______。
A、1234
B、123
C、12
D、1

2、【单选题】设有:char array[ ]="Window";,则数组 array所占的存储单元是______个字节。
A、4
B、5
C、6
D、7

5.5数组作为函数参

1、【判断题】整型数组可以作为函数的参数

2、【判断题】整型数组可以作为函数的返回值

6.1指针与一维数组

1、【单选题】类型相同的两个指针变量之间不能进行的运算是_______。
A、+
B、-
C、=
D、==

2、【单选题】设有 int a[10]={ 1,2,3,4,5,6,7,8,9,10},*p=a+3;,则p[5]的值是______。
A、6
B、7
C、8
D、9

6.2指针与函数

1、【单选题】指向变量的指针,其含义是指变量的_______。
A、值
B、地址
C、名
D、一个标志

2、【单选题】设有定义char str[]="game_over",*p=&str[0];,则语句printf("%d,%d",sizeof(str),strlen(p));的输出结果是______。
A、10,9
B、10,10
C、9,9
D、9,10

7.2共用体与枚举及应用

1、【单选题】下列程序段的输出结果是______。 struct { int a,b,c; }s={ 1,2,3},*p; p=&s; s.a=s.b+s.c; printf("%d\n",p->a);
A、5
B、4
C、3
D、无结果

2、【单选题】以下对枚举类型定义正确的是______。
A、enum num={ one,two,three};
B、enum num{ one=9,two=18,three};
C、enum num={ "one","two","three"};
D、enum num{ "one","two","three"};

8.1位运算

1、【单选题】已知int a=4,b=a<<2;,则语句printf("%d",b);的输出结果是______
A、2
B、4
C、8
D、16

2、【单选题】有以下程序 #include<stdio .h> main() {  short c=124; c=c___________; printf("%dn",c);} 若要使程序的运行结果为248,应在下划线处填入的是_______。
A、>>2
B、| 248
C、&0248
D、<<1

学习通C语言程序设计_5

随着学习的进行,我们已经掌握了C语言基本数据类型、运算符、控制结构和函数等基础知识。在本章节中,我们将学习C语言中的指针,这是C语言的重要特性之一。

一、指针的概念

指针是C语言中的一个重要概念,其实就是内存地址的值。在C语言中,我们可以通过指针来访问和操作内存中的数据。

指针的定义方式如下:

数据类型 *指针变量名;    

其中,指针变量名可以自定义,但建议符合命名规范,以便于程序的阅读和维护。

例如,定义一个整型变量的指针:

int *p;    

指针变量的值就是内存地址,可以通过&运算符获取变量的地址。

例如,获取整型变量a的地址:

int a;        int *p;        p = &a;    

通过指针访问变量的值,需要使用*运算符。

例如,获取指针p所指向的变量的值:

int a = 10;        int *p;        p = &a;        printf(\d\ *p); // 输出结果为10    

二、指针的运算

指针可以进行加减法运算,从而实现访问数组和字符串等数据结构。

例如,定义一个整型数组和一个指向该数组的指针:

int a[5] = { 1, 2, 3, 4, 5};        int *p;        p = a; //p指向数组a的首元素    

使用指针访问数组的第一个元素:

printf(\d\ *p); // 输出结果为1    

指针的加法运算可以实现访问数组中的其他元素。

例如,使用指针访问数组中的第二个元素:

p++;        printf(\d\ *p); // 输出结果为2    

同理,指针的减法运算也可以访问数组中的其他元素。

指针还可以用于字符串的访问。

例如,定义一个字符串和一个指向该字符串的指针:

char str[] = \Hello World!\        char *p;        p = str; // p指向字符串str的首字符    

使用指针访问字符串的第一个字符:

printf(\c\ *p); // 输出结果为'H'    

指针的加法运算可以实现访问字符串中的其他字符。

例如,使用指针访问字符串中的第二个字符:

p++;        printf(\c\ *p); // 输出结果为'e'    

三、指针的应用

指针是C语言中非常重要的概念,应用广泛。下面介绍几个指针的应用。

1. 指针作为函数参数

指针可以作为函数参数,用于修改函数外部的变量。

例如,定义一个函数,用于交换两个整型变量的值:

void swap(int *a, int *b){             int temp = *a;            *a = *b;            *b = temp;        }    

在函数中,使用指针来操作函数外部的变量。

例如,调用函数交换两个整型变量的值:

int a = 10;        int b = 20;        printf(\交换前,a=%d, b=%d\\ a, b); // 输出结果为:交换前,a=10, b=20        swap(&a, &b);        printf(\交换后,a=%d, b=%d\\ a, b); // 输出结果为:交换后,a=20, b=10    

通过指针作为函数参数,可以实现对函数外部的变量进行修改。

2. 动态内存分配

指针可以用于动态内存分配,避免静态内存过多浪费空间。

例如,定义一个指向整型变量的指针并动态分配内存:

int *p;        p = (int*)malloc(sizeof(int)); // 分配内存        *p = 10; // 写入数据        printf(\d\ *p); // 输出结果为10        free(p); // 释放内存    

动态内存分配可以根据程序需要进行内存管理,可以提高程序的效率。

3. 数组指针

指针可以用于多维数组的访问,也称作数组指针。

例如,定义一个二维数组和一个指向该数组的指针:

int a[3][3] = { { 1,2,3},{ 4,5,6},{ 7,8,9}};        int (*p)[3];        p = a; // 指针指向数组a的首行    

使用指针访问数组中的某个元素:

printf(\d\ *(*(p+1)+1)); // 输出结果为5    

通过指针可以访问二维数组中的任意元素。

四、总结

本章节主要介绍了C语言中的指针概念、指针的运算和指针的应用。指针是C语言的重要特性之一,具有访问和操作内存中数据的能力。通过指针可以实现函数参数传递、动态内存分配和多维数组的访问等功能,应用广泛。

中国大学C语言程序设计_5

中国大学C语言程序设计是一门重要的计算机科学课程。在这门课程中,学生将学习如何使用C语言来编写简单的程序,从而掌握基本的编程技能。

本篇文章将讨论中国大学C语言程序设计的第五章内容。该章节主要介绍了函数和数组的概念、用法及其相关的基本知识。

函数

在C语言中,函数是一种可重用的代码组件。它们由一段可执行的代码块组成,并且可以接受参数、执行任务并返回值。

函数的定义通常包括以下几个组成部分:

  • 返回类型:函数执行完后将返回的类型
  • 函数名:函数的名称,用于在程序中调用该函数
  • 参数列表:函数接受的参数,可以是任意类型的数据
  • 函数体:函数的实现代码块

例如,下面是一个简单的函数定义:

int add(int a, int b){     int result = a + b;    return result;}

在上面的例子中,add函数接受两个int类型的参数,并返回它们的和。

函数的调用通常如下:

int c = add(3, 5);

在上面的例子中,我们调用了add函数,并将其返回值存入变量c中。

数组

数组是一种可以存储多个相同类型的数据元素的数据结构。它们被声明为一个连续的内存块,并且可以通过索引来访问其中的元素。

数组的定义通常包括以下几个组成部分:

  • 数据类型:数组中存储的数据元素的类型
  • 数组名:数组的名称,用于在程序中引用该数组
  • 数组大小:数组中存储的数据元素的数量
  • 数组元素:数组中每个数据元素的值

例如,下面是一个简单的数组定义:

int numbers[5] = { 1, 2, 3, 4, 5};

在上面的例子中,我们声明了一个名为numbers的数组,它包含了5个整数元素。我们初始化了数组中的每个元素,分别为1, 2, 3, 4, 5

数组的访问通常如下:

int third_number = numbers[2];

在上面的例子中,我们访问了数组numbers中的第3个元素,并将其存入变量third_number中。

总结

在中国大学C语言程序设计的第五章中,我们学习了函数和数组的基本知识。函数是一种可重用的代码组件,而数组是一种可以存储多个相同类型的数据元素的数据结构。掌握这些知识对我们理解程序设计的基本概念和思想非常重要。



Ɣ回顶部