From 101d087c7969f3374a939d4921d159a84d604f6d Mon Sep 17 00:00:00 2001 From: inets Date: Tue, 14 Apr 2015 11:02:26 +0200 Subject: [PATCH] added c skills excercise --- session1/c_skills/Makefile | 18 ++++++++++++++++++ session1/c_skills/ass1 | Bin 0 -> 8514 bytes session1/c_skills/ass1.c | 31 +++++++++++++++++++++++++++++++ session1/c_skills/ass2 | Bin 0 -> 8580 bytes session1/c_skills/ass2.c | 35 +++++++++++++++++++++++++++++++++++ 5 files changed, 84 insertions(+) create mode 100644 session1/c_skills/Makefile create mode 100755 session1/c_skills/ass1 create mode 100644 session1/c_skills/ass1.c create mode 100755 session1/c_skills/ass2 create mode 100644 session1/c_skills/ass2.c diff --git a/session1/c_skills/Makefile b/session1/c_skills/Makefile new file mode 100644 index 0000000..8db88a9 --- /dev/null +++ b/session1/c_skills/Makefile @@ -0,0 +1,18 @@ +TARGETS = ass1 ass2 + +CC = gcc +CFLAGS = -g + +ifdef DEFINES + CFLAGS += -D$(DEFINES) +endif + +all: $(TARGETS) Makefile +clean: + rm -f $(TARGETS) + rm -f *.o *.~ + +ass1: ass1.o +ass2: ass2.o + +.PHONY: all clean diff --git a/session1/c_skills/ass1 b/session1/c_skills/ass1 new file mode 100755 index 0000000000000000000000000000000000000000..d0d4e702182bc4d79cd135ff806fd002255d22e3 GIT binary patch literal 8514 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 T(X}{#Tzz>xRl?mucC7dh0p^!v literal 0 HcmV?d00001 diff --git a/session1/c_skills/ass1.c b/session1/c_skills/ass1.c new file mode 100644 index 0000000..e4d54c9 --- /dev/null +++ b/session1/c_skills/ass1.c @@ -0,0 +1,31 @@ +#include + +struct route { + int routeID; + char descrp[25]; +}; + +typedef struct route Route; + + +int main(int argc , char *argv[]) +{ + Route route1; + struct route longroutes[10]; + struct route * routePtr; + + printf("route id = "); + scanf("%d", &route1.routeID); + + printf("route descrip = "); + scanf("%24s", route1.descrp); + + longroutes[2] = route1; + routePtr = longroutes; + + printf("route id = %d, route descrip = %s\n", + (routePtr+2)->routeID, + (routePtr+2)->descrp); + + return 0; +} diff --git a/session1/c_skills/ass2 b/session1/c_skills/ass2 new file mode 100755 index 0000000000000000000000000000000000000000..2025e20c8478c6cef5f4a67696188c4066b60f33 GIT binary patch literal 8580 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 kU*Y)TR!^QY%~db%7 literal 0 HcmV?d00001 diff --git a/session1/c_skills/ass2.c b/session1/c_skills/ass2.c new file mode 100644 index 0000000..5c4dc12 --- /dev/null +++ b/session1/c_skills/ass2.c @@ -0,0 +1,35 @@ +#include +#include + +int main(int argc, char *argv[]) +{ + double taxrate = 7.3, discountrate; + char buyer[100], seller[100]; + + double * tmpPtr = &taxrate; + + printf("*tmpPtr = %f\n", *tmpPtr); + + discountrate = *tmpPtr; + + printf("discountrate = %.2f\n", discountrate); + + printf("&taxrate = %p\n", &taxrate); + + printf("tmpPtr = %p\n", tmpPtr); + + printf("equal? => %s\n", tmpPtr == &taxrate ? "yes" : "no"); + + strncpy(buyer, "Hello World!", sizeof(buyer)); + + strncpy(seller, buyer, sizeof(seller)); + + printf("buyer == seller? => %s\n", + !strcmp(buyer, seller) ? "yes" : "no"); + + strncat(buyer, seller, sizeof(buyer)); + + printf("strlen(buyer) = %u\n", strlen(buyer)); + + return 0; +}