百年教育职业培训中心 百年教育学习服务平台
题库试卷

广开搜题广东开放大学C语言程序设计#(本,2023春)形成性考核参考答案

来源: 更新时间:

3亿多的题库,支持文字、图片搜题,包含国家开放大学、广东开放大学、云南开放大学、江苏开放大学、上海开放大学、北京开放大学、超星、青书等等多个平台题库,考试作业必备神器。#公众号:渝粤搜题#公众号:渝粤

3亿多的题库,支持文字、图片搜题,包含国家开放大学、广东开放大学、云南开放大学、江苏开放大学、上海开放大学、北京开放大学、超星、青书等等多个平台题库,考试作业必备神器。

#公众号:渝粤搜题

#公众号:渝粤题库

#公众号:国开搜题

#公众号:广开搜题

#公众号:江开搜题

#公众号:云开搜题

#公众号:上开搜题

#公众号:北开搜题

#公众号:  九八五题库

#公众号:贰壹壹题库


广东开放大学C语言程序设计#(本,2023春)形成性考核参考答案


C语言是一门广泛应用于各种计算机系统的高级程序设计语言,也是计算机科学专业学生必须掌握的一门基础课程。广东开放大学C语言程序设计#(本,2023春)形成性考核已经结束,下面为大家提供参考答案。


1. 请编写一个程序,实现将输入的字符串反转输出。


分析:输入一个字符串,然后将其反转输出,这个问题可以用栈来解决。首先定义一个字符数组,用scanf()函数输入字符串,然后定义一个栈,将字符串中的字符一个一个压入栈中,最后将栈中的字符弹出,输出即可。


参考代码:


#include <stdio.h>

#include <string.h>


#define MAXSIZE 100


typedef struct{

char data[MAXSIZE];

int top;

}Stack;


void initStack(Stack *s){

s->top = -1;

}


int isEmpty(Stack *s){

if(s->top == -1)

return 1;

else

return 0;

}


int isFull(Stack *s){

if(s->top == MAXSIZE-1)

return 1;

else

return 0;

}


void push(Stack *s, char c){

if(isFull(s)){

printf("Stack is full!\n");

return;

}

s->top++;

s->data[s->top] = c;

}


char pop(Stack *s){

if(isEmpty(s)){

printf("Stack is empty!\n");

return '\0';

}

char c = s->data[s->top];

s->top--;

return c;

}


int main(){

Stack s;

initStack(&s);

char str[MAXSIZE];

printf("Please input a string: ");

scanf("%s", str);

int len = strlen(str);

for(int i=0; i<len; i++){

push(&s, str[i]);

}

printf("The reverse string is: ");

while(!isEmpty(&s)){

printf("%c", pop(&s));

}

printf("\n");

return 0;

}


2. 请编写一个程序,实现将输入的整数转换为二进制数输出。


分析:将一个十进制数转换为二进制数,可以用除2取余法。先输入一个整数,然后循环除以2,每次将余数压入栈中,直到商为0。最后将栈中的元素弹出,输出即可。


参考代码:


#include <stdio.h>


#define MAXSIZE 100


typedef struct{

int data[MAXSIZE];

int top;

}Stack;


void initStack(Stack *s){

s->top = -1;

}


int isEmpty(Stack *s){

if(s->top == -1)

return 1;

else

return 0;

}


int isFull(Stack *s){

if(s->top == MAXSIZE-1)

return 1;

else

return 0;

}


void push(Stack *s, int x){

if(isFull(s)){

printf("Stack is full!\n");

return;

}

s->top++;

s->data[s->top] = x;

}


int pop(Stack *s){

if(isEmpty(s


广东开放大学C语言程序设计#(本,2023春)形成性考核参考答案


C语言是一门广泛应用于计算机编程领域的高级编程语言,广东开放大学的C语言程序设计课程是计算机科学与技术专业的必修课程之一。本文将为大家提供广东开放大学C语言程序设计#(本,2023春)形成性考核的参考答案。


一、选择题部分


1. 下列关于C语言的说法中,错误的是(A)


A. C语言是一种面向对象的编程语言


B. C语言是一种高级编程语言


C. C语言是一种结构化编程语言


D. C语言是一种过程式编程语言


答案:A


2.以下程序的输出结果是什么?


#include <stdio.h>

int main()

{

int i = 1, sum = 0;

while(i <= 10)

{

sum += i;

i++;

}

printf("%d\n", sum);

return 0;

}


A. 10


B. 45


C. 55


D. 100


答案:C


3.以下程序的输出结果是什么?


#include <stdio.h>

int main()

{

int i = 0;

do

{

printf("%d ", i);

i++;

}while(i < 5);

return 0;

}


A. 0 1 2 3 4


B. 1 2 3 4 5


C. 0 1 2 3


D. 1 2 3 4


答案:A


4.以下程序的输出结果是什么?


#include <stdio.h>

int main()

{

int i, j;

for(i = 1; i <= 5; i++)

{

for(j = 1; j <= i; j++)

{

printf("*");

}

printf("\n");

}

return 0;

}


A. *


B. **


C. ***


D. *****


答案:D


5.以下程序的输出结果是什么?


#include <stdio.h>

int main()

{

int i, j;

for(i = 1; i <= 5; i++)

{

for(j = 1; j <= i; j++)

{

printf("%d ", j);

}

printf("\n");

}

return 0;

}


A. 1


B. 1 2


C. 1 2 3


D. 1 2 3 4


答案:C


二、编程题部分


1. 编写一个程序,输入一个整数n,输出1到n的所有整数。


#include <stdio.h>

int main()

{

int n, i;

scanf("%d", &n);

for(i = 1; i <= n; i++)

{

printf("%d ", i);

}

return 0;

}


2. 编写一个程序,输入一个整数n,输出1到n的所有偶数。


#include <stdio.h>

int main()

{

int n, i;

scanf("%d", &n);

for(i = 1; i <= n; i++)

{



<p></p>


<p></p>


<p></p>


广东开放大学C语言程序设计2023春季学期形成性考核参考答案解析


近日,广东开放大学C语言程序设计2023春季学期进行了形成性考核,考试内容主要涵盖了C语言基础知识、数据类型、运算符、控制结构、函数及指针等方面。对于参加考试的学生来说,了解参考答案的解析是提高自己的编程水平的重要途径。


一、基础知识题


1. 下列不属于C语言保留字的是( )。


A. int B. float C. double D. main


答案:D


解析:C语言中有一些单词是被保留的,不能作为标识符使用。本题要求选出不属于保留字的选项,因此答案为D,main是C语言中的保留字。


2. 下列关于C语言的描述中,错误的是( )。


A. C语言是一种高级语言


B. C语言是一种面向过程的语言


C. C语言是一种编译型语言


D. C语言是一种解释型语言


答案:D


解析:C语言是一种编译型语言,需要将源程序编译成机器语言后才能运行。本题要求选出错误的描述,因此答案为D,C语言不是一种解释型语言。


二、数据类型题


1. 下列数据类型中,占用字节数最小的是( )。


A. int B. float C. double D. char


答案:D


解析:char类型占用一个字节,是C语言中占用字节数最小的数据类型。本题要求选出占用字节数最小的选项,因此答案为D,char类型。


2. 下列代码的输出结果是什么?


int a = 10;

float b = 3.14;

printf("%d\n", a + b);


A. 13 B. 10.14 C. 13.14 D. 编译错误


答案:D


解析:本题考查了数据类型的隐式转换问题。a和b分别是int和float类型的变量,相加后会自动将int类型的a转换为float类型,再进行计算。但是在printf函数中,%d表示输出整数,因此会出现编译错误的情况。正确的写法应该是printf("%f\n", a + b);,输出结果为10.140000。


三、运算符题


1. 下列代码的输出结果是什么?


int a = 10;

int b = 3;

printf("%d\n", a / b);


A. 3 B. 3.33 C. 3.0 D. 3.33333


答案:C


解析:本题考查了整数除法的运算规则。a和b都是int类型的


3亿多的题库,支持文字、图片,语音搜题,包含国家开放大学、广东开放大学、云南开放大学、北京开放大学、上海开放大学、江苏开放大学、超星、青书、奥鹏等等多个平台题库,考试作业必备神器。

正确 答案:微信搜索【渝粤搜题】公众号

广东开放大学 2023年春季招生简章


电话咨询